次の形式のテキストファイルがあります。
ファイル.txt
Record1 20 23;
Record2 256;
Record3 45 679 98 1;
各行の列数は異なる場合があります。列1の値に基づいて2つの列のみを含むファイルを変更したいと思います。以下は目標出力です。
File_2_Columns.txt
Record1 20;
Record1 23;
Record2 256;
Record3 45;
Record3 679;
Record3 98;
Record3 1;
答え1
これは一つの方法です
awk '{for(a=2;a<=NF;a++){printf "%s %s%c\n",$1,$a,a==NF ? "" : ";"}}' File.txt >File_2_Columns.txt
残りの宿題もよく仕上げてください ;-)
教師が最短回答に追加のスコアを与える場合は、次のことを試してください。
awk '{for(a=2;a<=NF;){printf"%s%c\n",$1" "$a,a++-NF?";":""}}' File.txt >File_2_Columns.txt