我有一个大文本文件(> 3GB).喜欢使用AWK行命令按顺序提取/打印所选行(第62行,第152行和第153行),它每217行重复一次,直到文件中的记录结束.
试图从网上搜索和学习.尝试以下,似乎没有工作,
awk '{(for (i=62; i<=NR; i=i+217)||for (i=62; i<=NR; i=i+217)||for (i=62; i<=NR; i=i+217)); print}' file.txt
和
count=62||152||153awk '{if (++count%217==0) print;}' file.txt
你能帮忙给我一些指示或引导我到任何可能有帮助的网站.
我正在使用这个http://www.catonmat.net/blog/wp-content/uploads/2008/09/awk1line.txt来学习.
RGDS
Saravanan K.
更新#1 – 2012年9月21日 – 下午10点40分
试着
awk 'NR == 62 || NR == 152 || NR == 153 || NR % 217 == 0 {printawk '(NR == 62 || NR == 152 || NR == 153) && (((NR-62) % 217==0) || ((NR-152) % 217 ==0)|| ((NR-153) % 217==0)) {print;}' file.txtawk '(NR - 62) % 217 == 0 || (NR - 152) % 217 == 0 || (NR - 153) % 217 ==0 {print;}' file.txtawk 'NR == 62 || NR == 152 || NR == 153 || NR % (62+217) == 0 || NR % (152+217) == 0 || NR % (153+217) == 0 {print ;}' test.txt;}' file.txt
能够打印#62,#152和#153行,但不能完成以下所有迭代,例如#(62 217),#(152 217)和#(153 217)等等.
也试过以下,但效果不好.
更新#2 – 2012年9月21日 – 晚上10点55分 – 停止营业
我通过一些调整尝试了rmunoz的想法.它像魔术一样工作.感谢rmunoz,关于这个话题
解决方法 您可以这样使用AWK中的模式: 总结以上是内存溢出为你收集整理的awk – 在大文件中打印选定的行全部内容,希望文章能够帮你解决awk – 在大文件中打印选定的行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)