我们想用“#”标记 sed 或 perl lineliner 匹配的行
例如
我们要标记文件中包含以下内容的所有行日期模式单词
log4j.appender.DRFA.DatePattern=.yyyy-MM-dd
预期产出
#log4j.appender.DRFA.DatePattern
注意 - 如果行已经被标记,那么它不会在该行之前添加另一个“#”
答案1
放在#
该行前面,并删除=
及其后面的任何内容:
sed 's/^\([^#].*DatePattern\)=.*/#\1/' file
或者,不删除=
:
sed 's/^[^#].*DatePattern/#&/' file
答案2
如果您不想删除尾随日期模式(您的规范不太清楚),请尝试
sed '/^[^#].*DatePattern/ s/^/#/' file