sed를 사용하여 파일 시작부터 패턴 일치 라인까지 주석 처리

sed를 사용하여 파일 시작부터 패턴 일치 라인까지 주석 처리

패턴을 검색하고 "START OF ARAMBOL"이라고 말하면 파일에서 일치합니다. 이제 현재 일치하는 패턴의 1행부터 1행까지의 모든 행을 주석 처리하고 싶습니다. 200개가 넘는 파일에 대해 이 작업을 수행해야 합니다.

Perl을 사용하여 이 작업을 수행할 수도 있지만 이를 수행하는 좋은 sed 방법이 있습니까?

감사해요

답변1

이 개념을 보여주는 라인으로서:

echo -e 'a\nb\nc\nPATTERN\nd\ne\nf' | sed '0,/PATTERN/ s/^/#/'

환경에 적응하면 됩니다.

  • "모드"에 관해서
  • 주석 문자로 '#'을 가정합니다.
  • 그리고 이를 모든 파일에 적용하는 방법도 설명되어 있습니다. 둘 다 "fileXXX.txt"인 경우 다음을 실행할 수 있습니다.sed -i '0,/PATTERN/ s/^/#/' file*txt

답변2

귀하의 질문에는 태그가 sed포함되어 있으므로 / 답변 gvim은 다음과 같습니다 .edex

ed file <<EOF
0,/"$pattern"/s/^/"$comment_char"/
wq
EOF

sed대답은 다음 sed과 매우 흡사합니다 ex.ed

관련 정보