Linux

sed + 標記線,如果是行進的單詞

  • August 5, 2018

我們想通過 sed 或 perl line liner 用“#”標記匹配的行

例如

我們要標記文件中包含DatePattern單詞的所有行

log4j.appender.DRFA.DatePattern=.yyyy-MM-dd

預期產出

#log4j.appender.DRFA.DatePattern

注意 - 如果行已經標記,則不會在行前添加另一個“#”

#該行之前並刪除=它之後的任何內容:

sed 's/^\([^#].*DatePattern\)=.*/#\1/' file

或者,不刪除=

sed 's/^[^#].*DatePattern/#&/' file

如果您不想刪除尾隨日期模式(您的規範不太清楚),請嘗試

sed '/^[^#].*DatePattern/ s/^/#/' file

引用自:https://unix.stackexchange.com/questions/460645