加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 19:45:08 所属栏目:Linux 来源:网络整理
导读:我有一个非常大的文件,我需要获得第n行,并将其打印成一行. 我的资料: 1 937 4.3201942 667 4.9133143 934 1.7833264 940 -0.2993125 939 2.3095596 936 3.2294967 611 -1.418088 608 -1.1540199 606 2.15968310 549 0.767828 我希望我的数据看起来像这样:
我有一个非常大的文件,我需要获得第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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读