替換線我有這樣一句臺詞:與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