2
我有一个包含200,000多行的文件。行被分组。每组行的开始以“IMAGE”开头,后面跟着一行以“HISTO”开头,然后至少有一行,但通常是多行,以“FRAG”开头。 我需要:
1.删除任何以“HISTO”开头的行。
2.对于每个“FRAG”行,我需要将它与前一个“IMAGE”行一起加入。 这里是一个例子。加入并删除基于模板的行
>IMAGE ...data1...
>HISTO usually numbers 0 0 1 1 0 1 0
>FRAG ...data1...
>FRAG ...data2...
>IMAGE ...data2...
>HISTO usually numbers 0 0 1 1 0 1 0
>FRAG ...data1...
>FRAG ...data2...
>FRAG ...data3...
>FRAG ...data4...
结果必须是这样的:
>IMAGE ...data1... FRAG ...data1...
>IMAGE ...data1... FRAG ...data2...
>IMAGE ...data2... FRAG ...data1...
>IMAGE ...data2... FRAG ...data2...
>IMAGE ...data2... FRAG ...data3...
>IMAGE ...data2... FRAG ...data4...
它可以有很多FRAG线将其与图像线条重新开始之前。我正在使用mac,所以我可以使用几乎任何工具。
我试过这个,但是它将多个FRAG线组合到一个IMAGE线上。
awk'/^IMAGE/{if(NR> 1)print a;一个= $ 0}/^(FRAG)/ {A = A”“$ 0}” INPUT.TXT> output.txt的
这导致在此:
IMAGE ... DATA1 .. 。FRAG ... ... DATA1 FRAG ... ... DATA2
@Inian我编辑原始消息,包括我试过的东西。至少它删除了HISTO行。但它将FRAG线路组合在一起。 –