我有我想用一個bash腳本編輯一些配置文件(和腳本)編輯配置文件:如何用SED
.
.
.
# ... foo ...
foo
.
.
.
我用這個:
sed -i 's/foo/bar/'
但按預期也會在評論行中編輯foo,我該如何防止?
我有我想用一個bash腳本編輯一些配置文件(和腳本)編輯配置文件:如何用SED
.
.
.
# ... foo ...
foo
.
.
.
我用這個:
sed -i 's/foo/bar/'
但按預期也會在評論行中編輯foo,我該如何防止?
這應做到:
sed -i '/^ *#/! s/foo/bar/' filename
解釋(除了原來的sed
命令):
s
命令可以採取addresses。/^ *#/
暗示任何以*#
開頭的行!
之後的地址取消其效果。因此,所有不以*#
開頭的行都會受到影響。
另一種解決方案:
sed -i 's/\[^#\]foo/bar/g' filename
您可以使用此也
sed '/^[^#]/s/foo/bar/g' file_name
'的sed -i「/^*#/! s/foo/bar /''?它確保註釋行總是以'#'開始,沒有前導空格,你可以在'#'之前放置'*' – anishsane 2014-09-26 12:29:50
@anishsane爲什麼不把它作爲答案發布? – 2014-09-26 12:32:28