이 질문이 매우 기본적이라면 사과드립니다. 어쨌든 이것을 입력하고 있는데
sed '/[iI]t/ a\\ Found it!' data
오류 이벤트를 찾을 수 없다고 뜹니다.
!
백슬래시로 이스케이프 처리를 시도했지만 \!
작동하지 않습니다.
백슬래시가 언제 문자를 이스케이프하여 문자 그대로 사용할 수 있는지 이해가 안 되는데 \
왜 sed에서는 작동하지 않습니까?
답변1
어떤 운영 체제에서 사용해 보셨나요? HP-UX 8.11 csh에는 기록 대체에서 느낌표의 특별한 의미를 억제하는 두 가지 방법이 있습니다(man csh의 기록 대체 참조).
뒤에 공간을 남겨주세요! (다른 캐릭터도 가능합니다)
sed '/[iI]t/ a\\ Found it! ' data
\!를 통해 탈출하세요.
sed '/[iI]t/ a\\ Found it\!' data
이것은 실제로 큰따옴표에서도 작동합니다.
sed "/[iI]t/ a\\ Found it\!" data