【发布时间】:2017-08-14 08:44:08
【问题描述】:
我有一组包含此类数据的文件(数百个)(管道作为列分隔符):
000|FILE___V20170307-003792
102|000|DDKSB=DAGA;DAGA=ADGA;DAG-FGSA=ADGA|0001|KLJDFLKJBDL|00|ADGAHA||00|ASYAHA|||DAGHAH|0|GAFDGA|18||3|N|1||AHA|ASGAN|ASFAN||82|1||2|300|||0|0|0|0|10|0||0|0|KLJDFLKJBDL|2||||||||
102|0100|DDKSB=DAGA;DAGA=ADGA;DAG-FGSA=ADGA|00|KLJDFLKJBDL|00|ASDGAHA||00|ASYAHA|||DAGHAH|0|AGAH|5||3|N|1||AHA|ASGAN|ASDHAH||82|1||2|300|||0|0|0|0|54|0||0|0|KLJDFLKJBDL|2||||||||
010|ENDOFFILE|10
如何只取第一行和最后一行之间的行?第一行的第一列有 000,最后一行的第一列有 010。我尝试使用 awk:
awk '/000/,/010/ { print > "output.txt" }' input_file.txt
但它不起作用,它不检查是否从第一列找到 000 和 010。也许以某种方式省略第一行和最后一行也可以?
【问题讨论】:
标签: bash unix awk sed pattern-matching