Linux伊甸园论坛's Archiver

huangchaoq 发表于 2008-4-30 12:58

用sed替换文本中环境变量的问题,Bash中可行,请高手指点在Csh中的使用方法

在一个文本文件(test.ini)中 ,有这样一句话 set file=$DSSDATA/temp/file.data,现在想用实际的环境变量DSSDATA的值来替换文件中$DSSDATA字段。在bash中可以 cat test.ini | sed "s:\$DSSDATA:$DSSDATA:g" 来实现。

请问在csh中怎么实现同样的效果呢。csh中的sed好像并不支持用":"来作为分隔符

[[i] 本帖最后由 huangchaoq 于 2008-4-30 13:02 编辑 [/i]]

huangchaoq 发表于 2008-4-30 13:00

在一个文本文件(test.ini)中 ,有这样一句话 set file=$DSSDATA/temp/file.data,现在想用实际的环境变量DSSDATA的值来替换文件中$DSSDATA字段。在bash中可以 cat test.ini | sed "s:\$DSSDATA:$DSSDATA:g" 来实现。

请问在csh中怎么实现同样的效果呢。csh中的sed好像并不支持用":"来作为分隔符

dearvoid 发表于 2008-5-1 10:56

sed 的行为跟所用的 shell 没有关系,可能是 csh 对双引号的处理跟 bash 不同吧

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.