删除以文本文件中的换行符结尾的行

时间:2010-07-27 13:36:43

标签: macos sed terminal

我需要在大量文本文件中删除相同的行。我一直在尝试使用sed,但我不能让它在最后删除换行符。以下成功删除了该行,但没有删除换行符:

sed -i -e 's/VERSION:1//' *.txt

我已尝试使用以下内容删除换行符,但它不起作用:

sed -i -e 's/VERSION:1\n//' *.txt

无论如何在sed替换命令中指定换行符还是我可以使用任何其他命令行工具来实现我的目标?谢谢

2 个答案:

答案 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