次のファイルがあります。
something
import (
"foo1"
"foo2"
"foo3"
"bar"
"baz"
)
something
something
ファイルを次のように変更するシェルコマンドが必要です。
something
import (
"foo1"
"foo2"
"foo3"
"bar"
"baz"
)
something
something
つまり、import (
範囲の終わりまで空白行を削除し、)
前後の空白行を保持します。
答え1
sed
これに適しています:
sed '/^import/,/^[[:space:]]*)/ { /^[[:space:]]*$/ d; }'
このコマンドは、sed
「import」で始まり、閉じ括弧()で終わる行ブロック内のd
すべての空行()を削除()するように指示します。/^[[:space:]]*$/
/^import/,/^[[:space:]]*)/