我在带有猫的文档中添加了一行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