数値データを含むファイルがあります。各行には異なる数の列があります。行の列数に応じて、ファイルを複数のファイルに分割したいと思います。各行には1〜10個の列を含めることができます。
以下は入力例です。
file.txt
23 53;
34;
31 45 67;
46 78 95;
34 17;
19;
37 65 83;
目標出力
file_1column.txt
34;
19;
file_2column.txt
23 53;
34 17;
file_3column.txt
31 45 67;
46 78 95;
37 65 83;
ベストアンサー1
"file_" and
awkを使用して、固定文字列 "column.txt"を各入力レコードまたは行のフィールドまたは列の数を含む内部変数に関連付けて、目的のファイル名をNF
作成します。
awk '{print > "file_" NF "column.txt"}' file.txt
結果:
$ head file_?column.txt
==> file_1column.txt <==
34;
19;
==> file_2column.txt <==
23 53;
34 17;
==> file_3column.txt <==
31 45 67;
46 78 95;
37 65 83;