我在linux中的这个settings.conf文件定义如下:
Section A
first-setting = value
# second-setting = off
third-setting = value
Section B
first-setting = value
# second-setting = off
third-setting = value
我想仅取消部分A的# second-setting = off
(第一次出现),并将值设置为on。
到目前为止,我有这个:
cat settings.conf | sed '/^# second.*/ {s/^#//;s/off/on/}'
任何提示?
答案 0 :(得分:1)
sed -e '1,/^Section B/s/# second-setting = off/ section-setting = on/' settings.conf
答案 1 :(得分:1)
这是你的想法吗?
sed '0,/#/s/#\(.*\) off/\1 on/' settings.conf
或者如果你的osx上有非gnu sed:
sed '1,/#/s/#\(.*\) off/\1 on/' settings.conf