如何在bash脚本中使用sed查找用空格替换值

时间:2011-06-04 22:27:25

标签: sed replace

我在像'value-to-remove'这样的文件中有值(没有'字符)。我想使用sed来运行该文件,并在之前和之后替换值包括空格。我通过bash脚本运行它。 我怎么能这样做?

我正在使用的sed命令替换了值,但留下了两个空格。

sed -i 's/ '$value' / /g' test.conf

在脚本中我有

sed -i -e 's/\s'$DOMAIN'-'$SITE'\s/\s/g' gitosis.conf

回应为

sed -i -e s/\sffff.com-eeee\s/\s/g test.conf

虽然没有工作。

2 个答案:

答案 0 :(得分:1)

恕我直言你的sed不知道'\ s',所以使用[ \t],并使用双引号,否则你的变量将不会扩展。 e.g:

sed -i -e "s/[ \t]'$DOMAIN'-'$SITE'[ \t]/ /g" gitosis.conf

答案 1 :(得分:0)

如果您需要,请告诉我

echo 'Some values to remove value-to-remove and more' | sed -e 's/\svalue-to-remove\s/CHANGED/g'

输出:Some values to removeCHANGEDand more