使用SED将'价格'替换为'g:price'

时间:2011-02-14 06:41:27

标签: sed

这是返回错误,表明':'是一个坏字符,我使用了这个:
sed“s / price / / g:price // g”file.txt> outputfile.txt

3 个答案:

答案 0 :(得分:0)

尝试转义它:

 sed "s/price/g\:price/g" file.txt > outputfile.txt

答案 1 :(得分:0)

如果你想改变价格"到" g:价格" ,真的没有必要逃避":"。另外,使用单引号(除非您想插入变量)

$ echo "price" | sed 's/price/g:price/'
g:price

答案 2 :(得分:0)

您的问题与:字符无关 - 您的命令由于其他原因而出错:

s / price / / g:price // g

此命令正在执行的操作是用空格替换所有prince实例:

s / price / / g

因为命令的其余部分没有意义,sed无法执行它。您应该做的是删除/之后的price并删除命令末尾的/之一。结果将是@kurumi回答:

s/price/g:price/

HTH