使用sed进行字符串替换

时间:2014-01-23 14:32:02

标签: string bash sed

while read p
    do
       p_upper=`echo $p | tr '[:lower:]' '[:upper:]'`  
       echo $p_upper:$p
       sed "s/$p_uper/$p/g" billpay-package.txt
    done < methods.txt 

我正在从文件methods.txt中逐行读取字符串(这些字符串是驼峰式的)被分配给变量p,然后将这些字符串转换为大写并将它们存储在p_upper中,如上所示,我想要做的是,用file:billpay-package.xml中的camel-case实例替换大写实例,但看起来好像sed命令没有正确执行

1 个答案:

答案 0 :(得分:3)

您正在执行sed但未保存输出。使用sed -i

在bash中,您可以使用下面显示的较短格式将变量转换为大写:

while read p
do
    p_upper=${p^^}
    sed -i "s/$p_upper/$p/g" billpay-package.txt
done < methods.txt