我正在使用grep
这样:
grep '^[abcd]*$' file.txt
我有一个文件list.txt
,其中包含如下列表:
potato
orange
carrot
如何将list.txt
中的所有行发送到grep
的搜索模式内,相当于输入以下内容:
grep '^[potatoorangecarrot]*$' file.txt
list.txt
中的所有行都放在一起,并作为一次长搜索发送到grep
。
如何将文件中的所有文本放入grep?
的搜索模式中答案 0 :(得分:1)
像这样:
string="^[$(tr -d '\n' < list.txt)]*$"
echo $string
然后
grep "$string" file.txt
$()
位表示“在其括号内输出运行命令”。 tr
命令表示从文件-d
中删除(list.txt
)所有换行符。