替换线我有这样一句台词:与SED但保持原线
param1='123'
我想以下几点:
param1='123'
param2=123
哪里123
可以是任意值。
我可以用得到param2
:
sed -i "s/param1=\([0-9]\+\)/param2='\1'/g" '{}' \;
但随后我就失去param1
。
我也可以用附加线param2
:
sed -i "param1='\([0-9]\+\)';/a \param2=\1;"
但是这种模式并不认可,我结束了param2=1
有没有办法这两个命令或工作的另一种方式结合起来这个?
将'sed'内联脚本封装在单引号中通常会更好。那么你不必担心是否与shell的cmd行处理有任何交互。如果您需要传递一个shell变量并将其扩展(仅作为一般规则,但不是硬性规则),则仅对sed内联脚本使用dbl-quotes。祝你好运。 – shellter
谢谢你的庇护所。我用了双引号,因为我不希望单引号干扰123周围的单引号。也许我可以用'123 \' – user1792403
转义,对不起,我错过了你的模式。我不认为'......''123''''会起作用。但是你可以使用各种引用方法,即''''''123'''....''。祝你好运。 – shellter