2014-09-11 157 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 
相关问题