从多个输入文件中获取数据并写入另一个文件

时间:2014-09-11 04:09:03

标签: shell unix sed

我有一个* .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' "{}" \;

2 个答案:

答案 0 :(得分:1)

使用cut和正确的分隔符(默认为TAB)

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

答案 1 :(得分:0)

awk可以做到这一切

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