假设我们有一个行块,如下所示:
<segment1>
<element="1" prop="blah"/>
<element="2" prop="blah"/>
.
.
</segment1>
<segment2>
<element="1" prop="blah"/>
<element="2" prop="blah"/>
.
.
<element="1" prop="blah"/>
<element="2" prop="blah"/>
</segment2>
<segment3>
<element="1" prop="blah"/>
<element="2" prop="blah"/>
.
.
</segment3>
例如,这里的段 2 有需要删除的重复项(排序在这里无关紧要)。那么现在如何绑定 sed 以仅从段 2 中删除重复项。在此示例中,片段 2 是第二个片段,可能并非所有可能出现的情况都是如此,因为它也可能是子集的子集。
我对此的想法是使用标签,从命令开始和结束gsed -ni 'G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P'