在bash中将两个cat语句合并为一个cat语句

时间:2018-08-08 16:10:48

标签: linux bash cat

我想将2个不同的cat语句合并为一个cat语句

cat /dir1/file1.cfg | grep -q "linux"

cat /dir1/file2.cfg | grep -q "linux"

这里有OR操作可用于对2个文件进行grep -q "linux"吗?

3 个答案:

答案 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

(我使用了一个外壳文件来保存将文件名的重复部分写在那里)。