各単語がタブ区切りの単語のリストを含むファイルがあります。 grepを使用してこれら2つの単語を検索しようとしていますが、検索文字列にタブ文字を含める方法がわかりません。私は試した:
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