Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 带有选项-i和标志/d设置的sed_Shell_Sed_Gnu - Fatal编程技术网

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

Shell 带有选项-i和标志/d设置的sed,shell,sed,gnu,Shell,Sed,Gnu,这个sed命令在shell脚本中做什么 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

这个sed命令在shell脚本中做什么

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
的任何行,而无需备份。

  • 查看

  • 使用手册页


  • man sed
    ,按
    /
    进行搜索,然后键入
    -i
    :-)。。。
    d
    命令将删除与模式匹配的行。为了使此操作简单+1,在某些版本的
    sed
    中(如Mac OS X附带的BSD),必须使用
    后缀
    参数;请参阅。要使这变得简单,请参见+1