English 中文(简体)
sed与参数替换文本
原标题:
  • 时间:2009-05-12 18:34:41
  •  标签:

好了,我知道这是一个简单的问题,但我似乎无法得到这个sed命令的工作。我想要得到一个文本文件和替换一个比特的占位符文本研究代码。研究代码,它将取代它的是使用参数传递到脚本脚本时第一个跑。问题是,当我试图用变量$替换占位符文本研究,它取代了“美元研究”。

现在我的参数设置如下:

出口研究= 1美元

出口标签= 2美元

出口模式= 3美元

出口选择= 4美元

我的sed命令如下:

sed - i。备份- e s / thisisthestudycodereplacethiswiththestudycode /研究/ freq.spx美元

有一些简单的方法得到sed不要看文字研究美元,或者会更好的在这一点上做的另一种方式吗?

最佳回答

使用双引号,而不是单引号。

因为引用防止shell变量扩展,“引用不。

问题回答

你可能不会遇到这个问题,但以防……

保罗年代回答略次优如果美元研究可能包含斜杠或其他字符sed的特殊意义。

mv freq.spx freq.spx.backup && 
    awk -v "study=$study"  {
        gsub(/thisisthestudycodereplacethiswiththestudycode/, study);
        print;
    }  freq.spx.backup > freq.spx

虽然尴尬(哈,双关语!),这将一直工作不管美元的学习内容。

try this................... sed -e s/%d/ $a /g amar.htm , amar.htm having the string "%d" which is indeed to be replaced and "a" is having the string to replace.





相关问题
热门标签