分割値は改行でキーと値を書き換えます。

分割値は改行でキーと値を書き換えます。

ファイル1.txt

A   1   2   3

ファイル2.txt

A   1
A   2
A   3

次のコードを使用して、ファイル2をファイル1に変換できます(最初の列は主キーです)。

cat File2.txt| awk '{line="";for (i = 2; i <= NF; i++) line = line $i " "; table[$1]=table[$1] line;} END {for (key in table) print key "\t" table[key];}' > File1.txt

ファイル1の形式からファイル2の形式にどのように戻りますか?

ベストアンサー1

この試み:

$ echo "A   1   2   3" | awk '{for(i=2;i<=NF;i++)printf("%s\t%d\n",$1,$i)}'
A   1
A   2
A   3

おすすめ記事