2012-05-31 55 views
0

MACHINENAME = MACHINE1Shell脚本:替换文本

替换: MACHINEDOTS = “ 'UNAME -n'” 到 MACHINEDOTS = “MACHINE1”

我尝试下面的sed CMD,

SED的/ MACHINEDOTS = “ 'UNAME -n'”/ MACHINEDOTS = “ '$ MACHINENAME'”/ G'TMP MV -f TMP路径

错误显示: sed的:无效选项 - “'

回答

1

当我尝试在Mac OS X 10.7上运行您的示例时,我得到一个“未终止的替代模式”,因为您使用了双引号“而不是单引号”或反引号“。

用单引号代替双引号和TMP后摆脱垃圾(你的意思是& & MV -f TMP的路径?)是这样的:

sed 's/MACHINEDOTS=''uname -n''/MACHINEDOTS="'$machineName'"/g' tmp 

的作品,但我不100%确定这是否是你想要的。

0

的sed的/ MACHINEDOTS = “ 'UNAME -n'”/ MACHINEDOTS = “ '$计算机名'”/ G'TMP MV -f tmp目录路径

你的意思是评估uname -n?它将需要在后面滴答。 像这样:

$ sed 's/\(MACHINEDOTS="\)'`uname -n`'"/\1'$machineName'"/g'