2016-08-11 3 views
1

Я ищу решение для устранения квадратных скобок в строке Bash. Например, рассмотрим строку:Заменить/удалить литеральные квадратные скобки в строке Bash

ldr r3, [r0,#8]! 

Однако я не уверен, как устранить «[» и «]». Я хотел бы устранить все символы самым изящным способом, например:

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

но с квадратными скобками включительно. Как это можно сделать?

ответ

2

Применение

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

Поскольку [] не является полезной модели, то ] рассматривается как часть выражения кронштейна, когда это символ первый в списке. Выражения скобок не могут быть вложенными, поэтому на [ ограничений нет.

Вы также можете просто избежать ]:

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

Perfect. Спасибо вам за разъяснение! –

Смежные вопросы