두 단어 사이의 탭 문자를 찾는 방법 [중복]

두 단어 사이의 탭 문자를 찾는 방법 [중복]

각 단어가 탭으로 구분된 단어 목록이 포함된 파일이 있습니다. grep을 사용하여 이 단어 중 두 개를 검색하려고 하는데 검색 문자열에 탭 문자를 포함하는 방법을 모르겠습니다. 나는 시도했다:

grep -i -e "word1 \tword2"

그리고 여러 가지 변형이 있지만 여전히 알아낼 수 없습니다. 도움이 필요하세요?

답변1

POSIX적으로:

grep "word1 $(printf '\t')word2" <file

셸에 포함된 문자가 셸에 의해 확장 되면 word1이스케이프해야 합니다.word2

bash및 변형 에서는 zsh다음 ksh을 사용할 수 있습니다.

grep 'word1'$'\t''word2' <file

다음으로 전환해도 괜찮다면 awk:

awk '/word1 \tword2/' <file

모든 POSIX 시스템에서 작동합니다.

답변2

다음을 시도해 볼 수도 있습니다.

grep -e "word1.*word2" inputfile.txt

관련 정보