如何在一个文件中使用2个sed命令作为输入值?

时间:2016-08-07 05:30:04

标签: android shell sed

我在一个sh文件中有2个sed命令来输入其他sh文件的值,如

sed -i '23 i\if [ $REPLY == '0,5120,10240,20480,40960,65536' ]; then' /system/0211/0211tr.sh
sed -i '27 i\elif [ $REPLY == '6144,12288,18432,32768,49152,57344' ]; then' /system/0211/0211tr.sh  

首先sed正在运作,但另一个则不行。首先sed,在第23行插入一个值,在第27行插入第二个sed值。还有另一种方法可以使其工作吗?我在Android设备中运行它

1 个答案:

答案 0 :(得分:0)

您可以为sed命令将引号从单引号'更改为souble引号",因为您在插入的文本中也有单引号'

此外,更改引号后,您需要使用$转义\\等字符。

并且,您可以将这两个插入放入一个sed命令中。

sed -i -e "23 i\\if [ \$REPLY == '0,5120,10240,20480,40960,65536' ]; then"  \
       -e "27 i\\elif [ \$REPLY == '6144,12288,18432,32768,49152,57344' ]; then" \
        /system/0211/0211tr.sh