2015-01-04 41 views
0

这个sed命令在shell脚本中做了什么?sed选项-i和标志/ d集

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

更确切地说,'-i'在这里做什么?为什么在模式结束处有一个'd'标志?

+4

'男人sed',按'/'搜索,并键入'-i': - )...''d'命令将删除与模式匹配的行。 – Carpetsmoker

回答

1

从SED手册,i选项意味着就地编辑

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

    edit files in place (makes backup if extension supplied) 

d手段删除操作

d  Delete pattern space. Start next cycle. 

在你例子,这两组合将删除任何行包含abc文件/etc/rc.d/rc.local在无备份。

+0

使这个简单+1 – repzero

+1

有关信息,在'sed'的某些版本(如Mac OS X附带的BSD版本)中,'SUFFIX'参数是强制性的;请参阅[this](http://stackoverflow.com/a/27696877/2541573)。 – Jubobs