我想解析一个感兴趣的部分的文本文件,如下所示:
mesh 0 400 12000
400 300 400
1 0 -1
300 500 600
0 0 1
etc....
12000
1300
1100
etc..
我只希望紧跟在以字符串mesh
开头的行之后的行以及之后的所有其他行,并且有3列。我希望此输出位于具有修改名称的单独文本文件中。
所需的输出文本文件:
400 300 400
300 500 600
我尝试用python和循环来做这个,但它花了几个小时而且从未完成,因为原始文本文件中有数千到数十万行。
使用awk使用bash脚本有更有效的方法吗?
答案 0 :(得分:0)
awk
救援!
$ awk '/^mesh/{n=NR;next} NF==3 && n && NR%2==(n+1)%2' file > filtered_file
400 300 400
300 500 600