패턴을 검색하고 "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
은 다음과 같습니다 .ed
ex
ed file <<EOF
0,/"$pattern"/s/^/"$comment_char"/
wq
EOF
sed
대답은 다음 sed
과 매우 흡사합니다 ex
.ed