
이 명령은 잘 작동합니다.
$ sed -e '/foo/{g; d}' myfile
하지만 여기에는 버그가 있습니다.
$ sed -e '/foo/{g; a bar}' myfile
sed: -e expression #1, char 0: unmatched `{'
무슨 문제가 있나요?
답변1
a
의 문에는 포함된 캐리지 리턴 문자( )가 아닌 sed
실제 개행 문자 ( )가 필요합니다. 따라서 이 진술을 실제로 작동하게 만드는 유일한 방법은 다음과 같습니다.Cntl-jCtrl-ma
sed '/foo/{g;a\
bar
}'
입력 줄 뒤에 개행 문자를 추가해야 합니다. 여러 줄을 원하면 개행 문자를 인용하세요.
sed '/foo/{g;a\
bar\
xyzzy
}'
sed
이것 은 그것 의 근본 으로 돌아갑니다 ed
.