使用 gawk 将每第 n 行打印成一行 [英] print every nth line into a row using gawk
本文介绍了使用 gawk 将每第 n 行打印成一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个非常大的文件,我需要在其中获取每第 n 行并将其打印成一行.
I have a very huge file in which I need to obtain every nth line and print it into a row.
我的数据:
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
我希望我的数据如下所示:
I want my data to look like this:
1 937 4.320194
3 934 1.783326
5 939 2.309559
7 611 -1.41808
9 606 2.159683
这当然是一个例子,我希望我的巨大数据文件每 10 行.到目前为止我试过这个:
This is of course an example, I want every 10th line for my huge data file. I tried this so far:
NF == 6 {
if(NR%10) {print;}
}
推荐答案
从第一行开始,每隔一行打印一次:
To print every second line, starting with the first:
awk 'NR%2==1' file.txt
每十行打印一次,从第十行开始:
To print every tenth line, starting with the tenth line:
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
这篇关于使用 gawk 将每第 n 行打印成一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文