대괄호 또는 대괄호와 그 사이의 텍스트를 제거하는 메커니즘을 만들고 싶습니다. 예를 들어:
앞으로:
text0 text1 text2 (text3 text4)
뒤쪽에:
text0 text1 text2 text3 text4
또는:
text0 text1 text2
이 두 가지 옵션과 다른 유형의 대괄호를 테스트하고 싶지만 Awk나 Sed 또는 다른 도구 중 어떤 도구를 사용해야 할지 잘 모르겠습니다. 어떤 제안이라도 감사하겠습니다.
답변1
텍스트를 보존하려면 이것으로 충분합니다.
tr -d '()'
텍스트와 괄호를 제거하려면:
sed 's/([^)]*)//g;s/ / /g'
텍스트에 중첩된 대괄호가 포함된 경우, 예를 들면 다음과 같습니다.
echo 'text0 (text1 (textA )) text2 (text3 text4) test5' |
sed -e :A -e 's/([^()]*)//;tA' -e 's/ / /g'
답변2
질문의 나머지 절반은 대괄호를 제거하십시오 (그러나아니요사이에 텍스트가 있음):
echo 'text0 text1 text2 (text3 text4)' |
sed 's/[()]//g'
산출:
text0 text1 text2 text3 text4