我有一個文件測試後追加一條線,與內容sed命令來搜索字符串和搜索的字符串
Hi
Hello
I am good.
我的要求是我必須寫一個shell腳本來搜索Hello
刺在文件測試在內容got it
之後添加新行。
對於這個我使用命令:
sed '/Hello/ a "got it"' test
我提示以下錯誤:此命令:
sed的:命令亂碼:/你好/一 「知道了」
我有一個文件測試後追加一條線,與內容sed命令來搜索字符串和搜索的字符串
Hi
Hello
I am good.
我的要求是我必須寫一個shell腳本來搜索Hello
刺在文件測試在內容got it
之後添加新行。
對於這個我使用命令:
sed '/Hello/ a "got it"' test
我提示以下錯誤:此命令:
sed的:命令亂碼:/你好/一 「知道了」
試試看:
sed '/Hello/ a \"got it"' file
a
是append命令。你的榜樣讀man sed
查看詳細
測試:
kent$ echo "Hi
Hello
I am good."|sed '/Hello/ a \"got it"'
Hi
Hello
"got it"
I am good.
@Kishore,你的「命令亂碼」的錯誤可能表明您鍵入您的命令時使用「的AltGr +空間」,而不是一個空間,或你沒有使用正規的單引號。
其實空間是沒有必要的,如果你只是想穿上跟隨比賽線路「知道了」,只是去:
sed '/Hello/agot it' test
它工作得很好,反斜槓在@肯特的解決方案是沒有必要的。
難道不需要轉義第二個雙引號嗎? 「一個」拿到了它「」? – fedorqui 2013-05-08 12:49:21
'a \ text追加文本,每個嵌入的換行符前面都有一個反斜槓。' – Kent 2013-05-08 12:51:00
@Kent在使用sed'/ Hello/a \'獲取它''測試後,我仍然收到同樣的錯誤。 – 2013-05-09 05:45:11