w로 시작하는 모든 단어를 어떻게 grep하거나 sed합니까?

w로 시작하는 모든 단어를 어떻게 grep하거나 sed합니까?

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"로 시작하는 "단어"(문자 시퀀스)가 생성됩니다.

관련 정보