2つの単語間のタブ文字を見つける方法[重複]

2つの単語間のタブ文字を見つける方法[重複]

各単語がタブ区切りの単語のリストを含むファイルがあります。 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

関連情報