我想问一下这条线有什么问题吗?
sed -i "/$PWD/a\ Hello World" historia.txt
当我把它放在这个中时,''
除了""
它正在工作,当然没有扩展变量。
答案1
问题是路径包含字符,并且您在替换参数分隔中也/
使用了该字符。sed
最简单的解决方案是在 中使用另一个分隔符sed
,其中一个分隔符不会出现在您的数据中(例如,一个|
, ,或者如我后续示例中的逗号):
sed -i "s,${PWD},a Hello World," historia.txt
编辑:上面解释了您遇到的问题(冲突的斜杠)。但我(现在)看到您不是在替换,而是在匹配行之后添加一行。在这种情况下,您可以转义PWD
路径中的斜杠sed
,例如:
sed -i "/${PWD//\//\\/}/a Hello World" historia.txt