Shell sed命令搜索字符串并在搜索的字符串后追加一行
我有一个文件测试,内容是Shell sed命令搜索字符串并在搜索的字符串后追加一行,shell,unix,sed,Shell,Unix,Sed,我有一个文件测试,内容是 Hi Hello I am good. 我的要求是我必须编写一个shell脚本来搜索文件测试中的Hellosting,并在它后面添加一行新的内容got 为此,我使用以下命令: sed '/Hello/ a "got it"' test 我收到此命令的以下错误: sed:command乱码:/Hello/a“明白了” 尝试: 一个是append命令。有关详细信息,请阅读man sed 用您的示例进行测试: kent$ echo "Hi Hello I am go
Hi
Hello
I am good.
我的要求是我必须编写一个shell脚本来搜索文件测试中的Hello
sting,并在它后面添加一行新的内容got
为此,我使用以下命令:
sed '/Hello/ a "got it"' test
我收到此命令的以下错误:
sed:command乱码:/Hello/a“明白了”
尝试:
一个
是append命令。有关详细信息,请阅读man sed
用您的示例进行测试:
kent$ echo "Hi
Hello
I am good."|sed '/Hello/ a \"got it"'
Hi
Hello
"got it"
I am good.
@Kishore,您的“command-garbled”错误可能表明您在键入命令时使用了“AltGr+空格”而不是空格,或者您没有使用常规的单引号
事实上,空格根本不是必需的,如果你只是想在比赛结束后的一行上写上“got it”,那就去:
sed '/Hello/agot it' test
它工作得非常好,@Kent的解决方案中的反斜杠是不必要的。是否有必要跳过第二个双引号
a\'got it\'
?a\text-Append-text,每个内嵌的换行符前面都有一个反斜杠。
@Kent在尝试sed'/Hello/a\'got it'”测试后,我仍然收到相同的错误。
sed '/Hello/agot it' test