【发布时间】:2012-09-06 04:22:39
【问题描述】:
我需要一个 sed one 班轮来立即按照模式 [lb] 更改一行:
[lb]
enabled=0
改为:
[lb]
enabled=1
提前感谢各位专家的帮助!
【问题讨论】:
标签: sed inline-editing
我需要一个 sed one 班轮来立即按照模式 [lb] 更改一行:
[lb]
enabled=0
改为:
[lb]
enabled=1
提前感谢各位专家的帮助!
【问题讨论】:
标签: sed inline-editing
IMO,sed 并不是真正正确的工具,但你可以这样做:
sed '/^\[lb\]/{ N; s/enabled=0/enabled=1/; }' input
【讨论】:
一种使用GNU sed的方式:
sed -i -r '/\[lb\]/ { N; s/(enabled=)0/\11/; }' file.txt
【讨论】:
希望这不是你的作业。
sed '/\[1b\]/,+1s/enabled=0/enabled=1/' <input-file>
【讨论】:
+1 地址不可移植。我相信它在 gnu-sed 中是有效的
awk 的更通用方式:
awk 'BEGIN {RS="\\[.*\\]"; ORS=OFS="" } { gsub("enabled=0", "enabled=1"); print RT, $0 }'
【讨论】: