打印 – 使用gawk将第n行打印成一行

前端之家收集整理的这篇文章主要介绍了打印 – 使用gawk将第n行打印成一行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个非常大的文件,我需要获得第n行,并将其打印成一行.

我的资料:

1      937  4.320194
2      667  4.913314
3      934  1.783326
4      940  -0.299312
5      939  2.309559
6      936  3.229496
7      611  -1.41808
8      608  -1.154019
9      606  2.159683
10     549  0.767828

我希望我的数据看起来像这样:

1      937  4.320194
3      934  1.783326
5      939  2.309559
7      611  -1.41808
9      606  2.159683

这当然是一个例子,我想要我的第10行为我的巨大的数据文件.我试过这个到目前为止

NF == 6 {
     if(NR%10) {print;}
     }

解决方法

要打印第二行,从第一行开始:
awk 'NR%2==1' file.txt

要打印第十行,从第十行开始:

awk 'NR%10==0' file.txt

要在脚本中使用此脚本,请将以下内容添加到名为script.awk的文件中:

BEGIN {
    print "Processing file"
}

NR%10==0

END {
    print "Finished processing"
}

后执行

awk -f script.awk file.txt

猜你在找的Linux相关文章