我正在使用sed编辑文件。
我正在使用此
sed -i 's/^display.*//g'
这里的问题是它不会删除\n
换行符。
因此,如果有许多受影响的文件,则会产生一个充满新行的文件。
那么我怎么能说sed它应该删除新行,或者使用不同的bash命令来删除连续有三个以上换行符的所有换行符?
答案 0 :(得分:7)
请使用s//g
删除匹配的行,而不是替换为d
:
sed -i '/^display/d' file
请注意,甚至没有必要用.*
表示其余行,只需^display
就足够了。
$ cat a
hello
display is something
and this is another display but
display is here
blabla
$ sed -i '/^display/d' a
$ cat a
hello
and this is another display but
blabla
答案 1 :(得分:0)
您提到您正在编辑该文件,因此使用vim
即可:
:g/^display/d