二重スラッシュ間の行の結合

二重スラッシュ間の行の結合

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

//

ABC

String1

String2

BDF:
ssss

//

AFG

String4

String9

BDF:
fff 

//

出力が欲しいです。

ABC, String1, String2, BDF: ssss
AFG, String4, String9, BDF: fff

二重スラッシュ間の行だけを把握し、別々のブロックを1行にリンクするにはどうすればよいですか?スラッシュ間の行はファイル全体で異なります。

ベストアンサー1

awkRSを複数の文字に設定し、二重スラッシュに設定できるGNUを試してください//。次に、設定で区切られたOFS=', 'カンマ区切りのフィールドを印刷し、設定gsub()の目的は$1=$1awkを実行することです。 OFS設定に基づいてフィールドを再設定しますprint

awk -v RS='//' 'NF{ $1=$1; gsub(":,", ":"); print }' OFS=', ' infile

おすすめ記事