![두 단어 사이의 탭 문자를 찾는 방법 [중복]](https://linux55.com/image/73926/%EB%91%90%20%EB%8B%A8%EC%96%B4%20%EC%82%AC%EC%9D%B4%EC%9D%98%20%ED%83%AD%20%EB%AC%B8%EC%9E%90%EB%A5%BC%20%EC%B0%BE%EB%8A%94%20%EB%B0%A9%EB%B2%95%20%5B%EC%A4%91%EB%B3%B5%5D.png)
각 단어가 탭으로 구분된 단어 목록이 포함된 파일이 있습니다. 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