我想将2个不同的cat
语句合并为一个cat
语句
cat /dir1/file1.cfg | grep -q "linux"
cat /dir1/file2.cfg | grep -q "linux"
这里有OR
操作可用于对2个文件进行grep -q "linux"
吗?
答案 0 :(得分:2)
到目前为止,您尝试了什么?
怎么样:
cat /dir1/file1.cfg /dir1/file2.cfg | grep -q "linux"
或带有子shell:
(cat /dir1/file1.cfg; cat /dir1/file2.cfg) | grep -q "linux"
或者只是:
grep -q "linux" /dir1/file1.cfg /dir1/file2.cfg
答案 1 :(得分:1)
这些都给出相同的结果。最后是我的写法。
% (cat f1; cat f2) | grep -q "linux"
% (cat f1 f2) | grep -q "linux"
% grep -q "linux" f1 f2
答案 2 :(得分:0)
实际上完全不需要cat
-grep
会很高兴地从多个文件中获取输入信息;通常,您需要告诉它不要在输出行前添加文件名的前缀,但是由于您使用的是-q
,所以甚至没有必要:
grep -q "linux" /dir1/file[12].cfg
(我使用了一个外壳文件来保存将文件名的重复部分写在那里)。