假设我有以下文件:
$ cat test.txt
a
-----
b
-----
-----
c
-----
-----
-----
d
-----
e
-----
-----
现在我想删除所有的-----
,但前提是它们彼此重复。所以结果应该是这样的:
a
-----
b
-----
c
-----
d
-----
e
-----
我试过grep -Pvz -- "-----\n-----"
了,但是没有用。
假设我有以下文件:
$ cat test.txt
a
-----
b
-----
-----
c
-----
-----
-----
d
-----
e
-----
-----
现在我想删除所有的-----
,但前提是它们彼此重复。所以结果应该是这样的:
a
-----
b
-----
c
-----
d
-----
e
-----
我试过grep -Pvz -- "-----\n-----"
了,但是没有用。
这正是该
uniq
命令的用途:所以
或者,您可以使用此 sed one-liner 69. 从文件中删除重复的连续行(模拟“uniq”)从Sed One-Liners Explained, Part III: Selective Deletion of certain Lines and Special Applications
如果您想
test.txt
就地编辑(通过添加-i
or--in-place
选项),这可能是首选。就像
uniq filename.txt
名字所说的那样,只剩下唯一的行并合并重复