我需要在大量文本文件中删除相同的行。我一直在尝试使用sed,但我不能让它在最后删除换行符。以下成功删除了该行,但没有删除换行符:
sed -i -e 's/VERSION:1//' *.txt
我已尝试使用以下内容删除换行符,但它不起作用:
sed -i -e 's/VERSION:1\n//' *.txt
无论如何在sed替换命令中指定换行符还是我可以使用任何其他命令行工具来实现我的目标?谢谢
答案 0 :(得分:3)
您可以使用sed
命令:
sed -i -e '/VERSION:1/d'
为此。
以下成绩单给出了一个例子:
pax> echo 'hello
> goodbye
> hello again' | sed '/oo/d'
hello
hello again
您还应该检查是否要匹配整行,例如:
sed -i -e '/^VERSION:1$/d'
因为,就目前而言,这也会删除如下所示的行:
VERSION:10
CONVERSION:1
答案 1 :(得分:2)
sed '/VERSION:1/{:q;N;s/VERSION\n//g;t q}' file