다른 줄의 괄호 사이에 내용 인쇄

다른 줄의 괄호 사이에 내용 인쇄

두 괄호 사이에 내용을 인쇄하는 방법.

예를 들어:

return [ "server1.domain.com" ,

"server2.domain.com" ,

"server3.domain.com" ]

예상되는 결과:

   "server1.domain.com" ,

   "server2.domain.com" ,

   "server3.domain.com"

예상되는 결과를 얻는 방법은 무엇입니까?

답변1

그리고 pcregrep:

pcregrep -Mo 'return \[\K[^]]*'

Mreturn [ultiline은 on 다음에 문자가 아닌 일련의 항목이 일치 ]하지만 o그 중 일부만 Keep ​​( 오른쪽에 \K)으로 출력합니다.

답변2

그리고sed

sed '
    /.*\[ /{
        s///        #remove all upto open square bracket 
        :a          #return mark
        /\ ].*/!{
            N       #get next line untill there is close square bracket
            ba      #back to return mark
        }
        s///        #remove all from close square bracket to end of line 
     }
     '

관련 정보