2015-01-04 65 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