別の行で始まり終わるパターンを置き換える

別の行で始まり終わるパターンを置き換える

次の形式のファイルがあります。

Whatever1
Whatever2
Whatever3
binaries=(
text1
bin2
ohhh3
)
Whatever4
Whatever5
Whatever6

binaries=(内部ラインをコマンド出力に置き換える必要があります。)

次のコマンドを使用して、次のブロックを選択できますsed -n -e '/binaries=(/,/)/p' filename

binaries=(
text1
bin2
ohhh3
)

または、次の使用をお勧めしますawk '/binaries/,/)/{if(!/binaries|)/)print}' filename

text1
bin2
ohhh3

しかし、元のファイルを再構築する必要がありますが、どのように進むべきかわかりません。

ベストアンサー1

GNUの使用sed:

sed '/binaries=(/,/)/{
       //!d
       /)/e uname
     }'

あなたのコマンドに置き換えてくださいuname

おすすめ記事