带有选项 -i 和标志 /d 设置的 sed

sed with option -i and flag /d set

shell 脚本中的这个 sed 命令有什么作用?

sed -i /'abc'/d  "/etc/rc.d/rc.local"

更准确地说,“-i”在这里做什么?为什么在模式的末尾设置了 'd' 标志?

来自 sed 手册,i 选项表示就地编辑

-i[SUFFIX], --in-place[=SUFFIX]

   edit files in place (makes backup if extension supplied)

d表示删除动作

d      Delete pattern space.  Start next cycle.

在您的示例中,这两个组合将删除文件 /etc/rc.d/rc.local 中包含 abc 的任何行而无需备份。

  1. explainshell

  2. 查看
  3. 使用手册页