在sed中使用与模式匹配的行的变量

时间:2012-09-28 21:35:53

标签: bash shell sed

我正在尝试执行以下命令,而sed并不喜欢它。我确定修复很简单,但我还没有找到任何解决方案。

在不以http开头的行上,我试图将$ currentlink的内容放在行的开头。 Sed正在抛出一个错误。任何帮助将不胜感激 - 谢谢!

sed '/^http/!s/^/$currentlink\//g'

2 个答案:

答案 0 :(得分:1)

单引号不插入shell变量。有几个选项,其中一个是使用双引号。

sed -e "/^http/!s/^/$currentlink/"

答案 1 :(得分:0)

请试试这个:

  

sed'/ ^ http /!s @ ^ @'“$(echo $ {currentlink} | sed's / @ / \\ @ / g')/”''@'