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