如何管道grep输出粘贴输入?

时间:2015-07-21 18:16:36

标签: bash

我基本上想要在filename1中使用“LOAD”一词下面的行,并将其作为新文件中的第二列,其中第一列来自filename2。 (这是在循环中完成的,但我认为这是无关紧要的。)

所以,如果我有

grep -A 1 LOAD filename1 >> temp
paste filename2 temp >> filename3
rm temp

有没有办法在一个命令中执行此操作,没有临时文件?像

这样的东西
grep -A 1 LOAD filename1 | paste filename2 "grep output" >> filename3

2 个答案:

答案 0 :(得分:7)

您可以使用流程替换,而不是使用临时文件:

paste filename2 <(grep -A 1 LOAD filename1) >> filename3

答案 1 :(得分:1)

grep -A 1 LOAD filename1.txt  | paste filename2.txt /dev/stdin >> filename3.txt