我试图逐行删除一些重复的字符串。例如:
A {id: "x" p {id: "vcv" v: "i4"} on:taf"}
A {id: "y" p {id: "wse" v: "i4"} on:ue"}
A {id: "z" p {id: "das" v: "i4"} on:tade"}
A {id: "x" p {id: "da" v: "i4"} on:faer"}
A {id: "y" p {id: "werw" v: "i4"} on:asee"}
A {id: "y" p {id: "werw" v: "i4"} on:asee"}
输出应该是没有重复 A_id 的输出,这意味着输出应该是:
A {id: "x" p {id: "vcv" v: "i4"} on:taf"}
A {id: "y" p {id: "wse" v: "i4"} on:ue"}
A {id: "z" p {id: "das" v: "i4"} on:tade"}
我遇到的问题是我不知道如何排序并仅使用子字符串使其唯一。我尝试使用:
cat input.txt | grep 'A\s\{id:\s\"[^;]*\sp\s\{id:' | sort -u > output.txt
但它不会删除重复的子字符串,而只会删除与其他字符串完全相同的行。所以它就像它只是被删除:
A {id: "y" p {id: "werw" v: "i4"} on:asee"}
这与最后两行相同,但没有删除:
A {id: "y" p {id: "wse" v: "i4"} on:ue"}
它具有重复的 id 但不同的内容。