如何使用Sed格式化一行

时间:2014-08-21 09:42:14

标签: regex sed

我在脚本中有一个变量,让我们假设它看起来像这样 $x= /w =

我想在sed表达式sed -i '/he/c\he = "'$x'"' /home/1.txt中使用它 但是为了正确的工作,它必须看起来像$x='\s''/w\''\s''=\'

所以我希望用sed通过变量使变量看起来正确,以便下次使用。 但我对sed很新,并且不能正确的语法。 如果可能的话,根据我的变量提供一个示例,并链接到这些事情的读数将是好的:)

1 个答案:

答案 0 :(得分:0)

尝试这样的事情。

var='$x= /w ='

Tempo="$( printf "%s" "${var}" | sed 's/["\\]/\\&/g' )"

sed -i "/he/c\\
he = \"${Tempo}\"" /home/1.txt

逃避一些炭火。只需看看转义和你需要双引号的sed之间的正确简单和双引号。