2014-09-11 207 views
0

我有一個包含我的模擬結果的* .mto文件列表。所採用的格式爲:從多個輸入文件獲取數據並寫入另一個文件

vtpr    vtpf    temper   alter#    
    5.849e-01  3.034e-01  2.500e+01  1 

我想在每個輸入文件vtpr和vtpf的值,然後將它們保存到一個結果文件。有人建議我使用sed,但我不知道它如何與多個文件一起工作。 我使用此代碼打印第二行,但在結果文件中,只有最終輸入文件的值,而不是所有的值,因爲每次都會被覆蓋。你能給我一些建議嗎? 感謝您的幫助。

find . -name '*.mt0' -exec sed -n '2w result.txt' "{}「\;!

回答

1

使用cut用正確的分隔符(默認是TAB)

find . -name '*.mt0' -type f -exec sed -n '2{p;q}' {} \; | cut -f2 -d' ' > output 
+0

感謝ü非常,它的工作ANW,你能告訴我'sed'命令中'2 {p,q}'的含義嗎? – 2014-09-11 08:20:38

+0

@ kerry_13,找到2行,打印並退出文件 – 2014-09-11 09:41:51

0

AWK可以做到這一切

awk 'FNR==2 {print $1, $2}' *.mt0 >output 
相關問題