2015-07-21 66 views
5

我基本上想要在文件名1中取出單詞「LOAD」下的行,並將其作爲新文件的第二列,其中第一列來自文件名2。 (這是正在一個循環內完成,但我認爲這是無關緊要的。)如何管道grep輸出粘貼輸入?

所以,如果我有

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

有沒有辦法做到這一點的一個命令,沒有臨時文件?喜歡的東西

grep -A 1 LOAD filename1 | paste filename2 "grep output" >> filename3 

回答

6

您可以使用進程替換,而不是使用一個臨時文件:

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

老貼(貼在CentOS6.5 8.4),我不得不使用' -s'國旗。它與管道(@dermen答案)或流程替代工作 –

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