这个命令有什么作用? sed '/ab/bc/g'

这个命令有什么作用? sed '/ab/bc/g'

sed仅带有 的命令g:我知道它的sed 's/ab/bc/g'作用,但如果没有s,我不知道它会做什么。它似乎在终端中不起作用:

$ sed '/^c/d/g' word.txt
sed: -e expression #1, char 6: extra characters after command

答案1

通过向命令添加搜索条件,Sed 可以限制为文件中的行子集。搜索条件的形式为/search/。因此,如果省略sfrom -e 's/^c/d/g',它就完全变成另一个命令:-e '/^c/ d'

d命令删除该行并且不采用任何选项,这就是您收到“命令后有额外字符”错误的原因。

如果没有额外的/g,此命令将删除以 'c' 开头的每一行:

   $ cat t
   c is what we want
   d is not
   this file has 3 lines.
   $ sed -e 's/^c/d/g' t
   d is what we want
   d is not
   this file has 3 lines.
   $ sed -e '/^c/d' t
   d is not
   this file has 3 lines.

相关内容