2015-07-21 15 views
5

Temelde filename1'de "LOAD" kelimesinin altındaki satırı almak ve onu ilk sütunun filename2'den geldiği yeni bir dosyadaki ikinci sütunu yapmak istiyorum. (Bu bir döngü içine yapılır, ama bu alakasız olduğunu düşünüyorum ediliyor.)Grep çıktısı girişi yapıştırmak için nasıl kullanılır?

Yani varsa

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

yapmanın bir yolu var mı dair hiçbir geçici dosya ile tek bir komut içinde?

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

cevap

6

gibi bir şey yerine geçici bir dosya kullanmanın süreç ikame kullanabilirsiniz: ben kullanmak zorunda (CentOS6.5 üzerinde 8.4 yapıştır) eski macun üzerinde

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

' -s 'bayrağı. Boru (@dermen cevabı) veya süreç sübvansiyonu ile çalıştı –

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