从多个输入文件获取数据并写入另一个文件
问题描述:
我有一个包含我的模拟结果的* .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' "{}
“\;!
答
使用cut
用正确的分隔符(默认是TAB)
find . -name '*.mt0' -type f -exec sed -n '2{p;q}' {} \; | cut -f2 -d' ' > output
答
AWK可以做到这一切
awk 'FNR==2 {print $1, $2}' *.mt0 >output
感谢ü非常,它的工作ANW,你能告诉我'sed'命令中'2 {p,q}'的含义吗? – 2014-09-11 08:20:38
@ kerry_13,找到2行,打印并退出文件 – 2014-09-11 09:41:51