사용하는 방법! sed 명령에서?

사용하는 방법! sed 명령에서?

이 질문이 매우 기본적이라면 사과드립니다. 어쨌든 이것을 입력하고 있는데
sed '/[iI]t/ a\\ Found it!' data오류 이벤트를 찾을 수 없다고 뜹니다.

!백슬래시로 이스케이프 처리를 시도했지만 \!작동하지 않습니다.

백슬래시가 언제 문자를 이스케이프하여 문자 그대로 사용할 수 있는지 이해가 안 되는데 \왜 sed에서는 작동하지 않습니까?

답변1

어떤 운영 체제에서 사용해 보셨나요? HP-UX 8.11 csh에는 기록 대체에서 느낌표의 특별한 의미를 억제하는 두 가지 방법이 있습니다(man csh의 기록 대체 참조).

  1. 뒤에 공간을 남겨주세요! (다른 캐릭터도 가능합니다)

    sed '/[iI]t/ a\\
    Found it! ' data
    
  2. \!를 통해 탈출하세요.

    sed '/[iI]t/ a\\
    Found it\!' data
    

    이것은 실제로 큰따옴표에서도 작동합니다.

    sed "/[iI]t/ a\\
    Found it\!" data
    

관련 정보