파일에서 단어의 위치 찾기

파일에서 단어의 위치 찾기

텍스트 파일에서 특정 단어의 위치를 ​​찾고 싶습니다. 예를 들어 단어 변수를 블룸 단어로 정의하면 내가 이 명령을 사용했는지 알고 싶습니다.

grep -n "$word" mydict.txt

하지만 단어 변수를 "ab"로 정의하면. 코드는 "ab"를 포함하는 각 줄을 제공합니다. 예를 들어, Bloom이라는 단어도 제공하지만 ab라는 단어가 있는 행만 필요합니다.

답변1

여기서 행 1이 아닌 행 3을 찾고 싶다는 뜻인가요?

abcdefg
foobar
ab cd ef

그렇다면 grep -w다음 내용이 유용할 수 있습니다(GNU 매뉴얼 페이지).

-w, --word-regexp
전체 단어를 구성하는 일치 항목이 포함된 줄만 선택합니다.

"단어"로 간주되는 것은 로케일에 따라 다소 다릅니다. C 로케일에서 "단어 문자"는 문자, 숫자 및 밑줄입니다.

따라서 ab그 안에 완전한 단어가 있습니다.

printf 'ab' | grep -w ab
printf 'ab cd' | grep -w ab
printf 'ab-cd' | grep -w ab
printf 'ab, cd' | grep -w ab

하지만 여기서는 그렇지 않습니다.

printf 'ab_cd' | grep -w ab
printf 'ab1' | grep -w ab

관련 정보