的sed我有一個像使用特殊字符在變量
cat File
cd-car~1~3
我想替換$ STRING1我用下面的代碼CD-車的要求
$string1=cd-p&c
sed -i "s/cd-car~/$string1~/g' File
我得到以下輸出
cat File
~1~3
請幫我
的sed我有一個像使用特殊字符在變量
cat File
cd-car~1~3
我想替換$ STRING1我用下面的代碼CD-車的要求
$string1=cd-p&c
sed -i "s/cd-car~/$string1~/g' File
我得到以下輸出
cat File
~1~3
請幫我
報價cd-p&c
。否則,執行c
命令;並沒有設置爲string1
變量。
$ string1=cd-p&c
[1] 6137
c: command not found
[1]+ Done string1=cd-p
$ echo $string1
$
的&
字符是在sed的s///
命令的替換零件特殊:它是由與該模式匹配的文本替換。如果你想有一個文字&
你要逃避它,
$ string1='cd-p\&d'
$ echo $string1
cd-p&d
$ sed -i "s/cd-car~/$string1~/g" File
$ cat File
cd-p&c~1~3
您可以使用awk
awk '{sub(/cd-car/,"$string1")}1' file
$string1~1~3
你想更換'CD-car'以字符串'$ string1',或在變量中的值'$ string1' – Jotne
@jotne我希望$ string1是變量 – Pranee
像我的答案? – Jotne