2016-08-11 715 views
1

我正在寻找一种解决方案来消除Bash字符串中的方括号。 例如,考虑字符串:替换/删除Bash字符串中的文字方括号

ldr r3, [r0,#8]! 

但是我不知道如何消除“[”和“]”。我想以最优雅的方式排除所有符号,例如:

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

但带有方括号(含)。这如何实现?

回答

2

使用

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

因为[]是不是一个有用的模式,]被视为托架表达式的一部分时,它是列出的第一字符。括号表达式不能嵌套,因此对[没有限制。

你也可以简单地逃脱]

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

完美。谢谢你的解释! –