用 sed 删除整行?

用 sed 删除整行?

我在带有猫的文档中添加了一行heredocument

cat <<-'DEFINE' >> ./wp-config.php
define( 'DISALLOW_FILE_EDIT', true );
DEFINE

后来我想删除它并这样做:

sed -i "s/define( 'DISALLOW_FILE_EDIT', true );//g" ./wp-config.php

删除它后,我注意到代码所在的地方有一个额外的空行 - 这确实是自然发生的事情 - sed 只是删除了代码,而不是整行。

我的问题是,我可以使用 sed 实际删除整行,而不仅仅是其中的代码吗?

答案1

空行来自于您没有用任何内容替换文本。

不使用替换 ( s),而是使用删除 ( d):

sed -i "/define( 'DISALLOW_FILE_EDIT', true );/d" ./wp-config.php

相关内容