この質問が非常に基本的な場合は謝罪します。とにかくこれを入力していますが、
sed '/[iI]t/ a\\ Found it!' data
エラーイベントが見つからないと思います。
!
バックスラッシュでエスケープ処理しようとしましたが、\!
動作しません。
バックスラッシュがいつ文字をエスケープして文字どおりに使用できるのかわからないが、\
なぜsedでは機能しないのですか?
答え1
どのオペレーティングシステムで試しましたか? HP-UX 8.11 cshには、履歴置換で感嘆符の特別な意味を抑制する2つの方法があります(man cshの履歴置換を参照)。
後ろにスペースを残してください! (他のキャラクターも可能です)
sed '/[iI]t/ a\\ Found it! ' data
\!で脱出してください。
sed '/[iI]t/ a\\ Found it\!' data
これは実際に二重引用符でも機能します。
sed "/[iI]t/ a\\ Found it\!" data