如何将文件中的所有文本放入grep的搜索模式?

时间:2014-05-30 06:02:20

标签: bash grep

我正在使用grep这样:

grep '^[abcd]*$' file.txt

我有一个文件list.txt,其中包含如下列表:

potato
orange
carrot

如何将list.txt中的所有行发送到grep的搜索模式内,相当于输入以下内容:

grep '^[potatoorangecarrot]*$' file.txt

list.txt中的所有行都放在一起,并作为一次长搜索发送到grep

如何将文件中的所有文本放入grep?

的搜索模式中

1 个答案:

答案 0 :(得分:1)

像这样:

string="^[$(tr -d '\n' < list.txt)]*$"
echo $string

然后

grep "$string" file.txt

$()位表示“在其括号内输出运行命令”。 tr命令表示从文件-d中删除(list.txt)所有换行符。