2016-08-11 7 views
1

Bash 문자열에서 대괄호를 제거하는 솔루션을 찾고 있습니다. 는 예를 들어, 문자열을 고려 : 나는 제거하는 방법을 잘 모르겠습니다 그러나Bash 문자열에서 대괄호를 바꾸거나 제거합니다.

ldr r3, [r0,#8]! 

을 '['와 ']'.

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

하지만 대괄호 포함에 : 나는 다음과 같은 가능한 가장 우아한 방법으로 모든 심볼을 제거하고 싶습니다. 이것이 어떻게 성취 될 수 있는가? 이 나열된 제 문자 인 경우

답변

2

사용

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

[] 유용한 패턴 아니기 때문에 ]는 브래킷 식의 일부로 간주된다. 대괄호 식은 중첩 될 수 없기 때문에 [에 대한 제한이 없습니다.

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

완벽한 :

는 또한 단순히 ]을 피할 수 있습니다. 설명 주셔서 감사합니다! –

관련 문제