異なる行の括弧の間にコンテンツを印刷する

異なる行の括弧の間にコンテンツを印刷する

2つの括弧の間に内容を印刷する方法。

たとえば、

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 
     }
     '

関連情報