集計されたデータを最初の列の数値に基づいて縮小された2列テーブルに変換する方法

集計されたデータを最初の列の数値に基づいて縮小された2列テーブルに変換する方法

次の行を含むビッグデータがあります。

0   1 5 6 4
1   4 5 2 3
5   4 5 6 7

データはtxt形式で、新しいファイルを作成し、このデータを次の2つの列に変換したいと思います。

0 1
0 5
0 6
0 4
1 4
1 5
1 2
1 3
5 4
5 5
5 6
5 7

助けてくれてありがとう!

ベストアンサー1

奇妙なソリューション

awk実行可能ファイルconv_table.awk

#! /usr/bin/awk -f

{
    # for all fields after the first column
    for (idx = 2; idx <= NF; idx++) {
        # print first column followed by another valued column
        print $1, $idx
    }
}

これは次のコマンドで実行できます。

chmod 755 conv_table.awk

次のように実行します。

./conv_table.awk table.txt > output.txt

1行バージョン:

awk '{for(idx=2;idx<=NF;idx++){print $1,$idx}}' table.txt > output.txt

おすすめ記事