0

我有一个文件测试,内容

Hi
Hello 
I am good.

我的要求是我必须编写一个 shell 脚本来搜索Hello文件 test 中的 sting 并在其后添加一个带有 content 的新行got it

为此,我正在使用命令:

sed '/Hello/ a "got it"' test

我收到此命令的以下错误:

sed:命令乱码:/Hello/ “知道了”

4

2 回答 2

2

尝试:

sed '/Hello/ a \"got it"' file

a是追加命令。man sed详细阅读

用你的例子测试:

kent$  echo "Hi
Hello 
I am good."|sed '/Hello/ a \"got it"'
Hi
Hello 
"got it"
I am good.
于 2013-05-08T12:47:09.290 回答
0

@Kishore,您的“命令乱码”错误可能表明您在键入命令时使用了“AltGr + Space”而不是空格,或者您没有使用常规的直立单引号。

事实上,空格根本没有必要,如果你只想在比赛后的那一行加上“得到它”,那就去吧:

sed '/Hello/agot it' test

它工作得很好,@Kent 解决方案中的反斜杠是不必要的。

于 2014-07-03T13:52:31.503 回答