![w로 시작하는 모든 단어를 어떻게 grep하거나 sed합니까?](https://linux55.com/image/163079/w%EB%A1%9C%20%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94%20%EB%AA%A8%EB%93%A0%20%EB%8B%A8%EC%96%B4%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20grep%ED%95%98%EA%B1%B0%EB%82%98%20sed%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
grep이나 sed를 사용하여 연습해야 할 스토리가 포함된 파일이 있습니다. 나는 이것을 시도했고 egrep -i '^w.' file.txt
대부분의 단어를 얻었지만 w로 시작하는 모든 단어가 필요합니다("Paperwork"는 작동하지 않고 "working"은 작동합니다).
답변1
\b
아마도 단어 시작( )을 분리하고 단어 문자를 식별 하려면 정규식이 필요할 것입니다 . 예를 \S
참조하세요 .문서더 알아보기. 그래서 당신은 명령을 사용할 수 있습니다
$ grep -oE '\bw\S*' inputfile
를 사용하면 -o
결과는 단지 일치하는 부분, 새 줄의 각 일치(하나의 입력 줄에서도) 및 -E
"확장 정규식" 사용 기능( 사용과 동일 egrep
)이 됩니다.
[[:alpha:]]
대신 보다 엄격한 "단어" 일치를 사용할 수 있습니다 \S
.
$ grep -oE '\bw[[:alpha:]]*' inputfile
그러면 영어 문자 집합에서 "w"로 시작하는 "단어"(문자 시퀀스)가 생성됩니다.