Sed
如何使用 !在 sed 命令中?
如果您覺得這個問題非常基本,請道歉。無論如何,我正在打字
sed '/[iI]t/ a\\ Found it!' data
,但它說找不到錯誤事件。我嘗試
!
用反斜杠轉義它,\!
但它不起作用。我不明白什麼時候反斜杠
\
可以轉義一個字元並按字面意思使用它,那麼為什麼它在 sed 中不起作用?
您在哪個作業系統上嘗試過?在 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