2016-08-11 712 views
1

我正在尋找一種解決方案來消除Bash字符串中的方括號。 例如,考慮字符串:替換/刪除Bash字符串中的文字方括號

ldr r3, [r0,#8]! 

但是我不知道如何消除「[」和「]」。我想以最優雅的方式排除所有符號,例如:

str="ldr r3, [r0,#8]!" 
echo ${str//[,.!]/} 

但帶有方括號(含)。這如何實現?

回答

2

使用

echo "${str//[][,.!]}" 

因爲[]是不是一個有用的模式,]被視爲托架表達式的一部分時,它是列出的第一字符。括號表達式不能嵌套,因此對[沒有限制。

你也可以簡單地逃脫]

echo "${str//[[\],.!]}" 
+0

完美。謝謝你的解釋! –