sed + 标记线(如果是游行单词)

sed + 标记线(如果是游行单词)

我们想用“#”标记 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

相关内容