如何grep 两个单词之间有一个制表符

如何grep 两个单词之间有一个制表符

我有一个文件,其中包含单词列表,每个单词都由制表符分隔。我正在尝试使用 grep 搜索其中两个单词,但我不知道如何在搜索字符串中包含制表符。我试过了:

grep -i -e "word1 \tword2"

以及几种变体,但我仍然无法弄清楚。有什么帮助吗?

答案1

POSIXly:

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

请注意,如果 shell 扩展了word1和中的任何字符,则需要对其进行转义。word2

bashzshksh变体中,您可以使用:

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

如果您不介意切换到awk

awk '/word1 \tword2/' <file

将在所有 POSIX 系统中工作。

答案2

你可能想尝试这个:

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

相关内容