2011-03-25 7 views

답변

4

리터럴 문자열 [one] abc [two]을 사용하는 경우를 예로들 수 있습니다. 이 :

s/[[][^]]*]/X/g 

그것은 X가 [ + anything not ] + ] 대체 할 수 있습니다

+0

당신은 빨리 나 @Erik 이상입니다! 또한 : s/\ [[^]] * \]/X/g'은 sed와 함께 작동합니다. –

+0

당신은 저보다 잘 이해합니다. :) –

+0

'[[]'또는'\ [''는'[','\]'또는']만이'''와 일치합니다. – Erik

0

[대괄호]는 문자 그대로입니까? 아니면 공백이 중요한 부분입니까?

sed -r 's/(.*) (.*) (.*)/X \2 X/' 

echo "[one] abc [two]" | sed -r 's/(.*) (.*) (.*)/X \2 X/' 
X abc X 
0

루비 (1.9+)

$ echo "[one] abc [two]" | ruby -e 'print gets.gsub(/\[.*?\]/,"X") ' 
X abc X 
관련 문제