
두 괄호 사이에 내용을 인쇄하는 방법.
예를 들어:
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
}
'