awk脚本来处理400 .txt文件

时间:2013-05-22 15:51:33

标签: linux bash scripting awk

我有一个很好的.awk脚本,它获取第二个$ 2值并打印出来。因为.txt文件中的数据只下降了8192行,所以后面的任何行都无关紧要(脚本会处理这个问题。)我有400多个.tst文件需要完成相同的操作并将输出放入一个文件。那么我将如何浏览当前目录中的每个.tst文件?我尝试将cat输出管道连接到脚本的单行版本,但它只处理了第一个文件。有什么建议吗?

BEGIN{
}
{
print $2 "\n";
if (NR==8192)
        exit;
}
END {
    print NR "\n";
}

2 个答案:

答案 0 :(得分:3)

这应该有效 -

awk 'FNR<=8192{ print $2 }' *.tst > finalfile

答案 1 :(得分:1)

只需对当前目录中的所有.tst文件进行全局处理,然后将输出重定向到outfile

$ awk 'FNR<=8192{print $2"\n";next}{print FNR"\n";nextfile}' *.tst > outfile