3行をカンマで区切って1つにマージする方法

3行をカンマで区切って1つにマージする方法

このテキストを反転するには:

                                             From: "anonymous" <sip:[email protected]>;tag=1c1969267918
                                             Call-ID: [email protected]
                                             Max-Forwards: 70
                                             From: "anonymous" <sip:[email protected]>;tag=1c6447025742
                                             Call-ID: [email protected]
                                             Max-Forwards: 70

以下を入力してください:

From: "anonymous" <sip:[email protected]>;tag=1c1969267918, Call-ID: [email protected], Max-Forwards: 70
From: "anonymous" <sip:[email protected]>;tag=1c6447025742, Call-ID: [email protected], Max-Forwards: 70

ベストアンサー1

期待される出力でカンマの後の単一のスペースが重要でない場合:

$ sed 's/^[[:blank:]]*//' file | paste -d, - - -
From: "anonymous" <sip:[email protected]>;tag=1c1969267918,Call-ID: [email protected],Max-Forwards: 70
From: "anonymous" <sip:[email protected]>;tag=1c6447025742,Call-ID: [email protected],Max-Forwards: 70

最初にsed入力ファイルの各行から最初のスペースを削除するには、を使用し、pasteカンマを区切り文字として使用して結果行を3つの列に分散します。

おすすめ記事