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