Unix - 複数行にまたがるレコードから改行文字を削除する必要がある

Unix - 複数行にまたがるレコードから改行文字を削除する必要がある

次のファイルがあります

"IN001~24Apr16~Hi,
what a way?
oh no!~
not here~"
"IN003~29Apr16~
what a way?
~oh no!
say again.
not again~"

次の形式で出力したいと思います。

"IN001~24Apr16~Hi,what a way?oh no!~not here~"
"IN003~29Apr16~what a way?~oh no!say again.not again~"

awkまたはsedを使用するすべてのソリューションを大歓迎です。

ベストアンサー1

awk '{ printf "%s",$0 }; /"$/ { print ""; };' inputfile

入力行が二重引用符で終わる場合にのみ、出力に改行文字が表示されます。したがって、このawkコードは改行なしですべての入力行を出力します。次に、入力行が a で終わっていることを確認し、"そうであれば改行文字を出力します。

おすすめ記事