.txt
を分割する必要があります ヘッダーを含め、それぞれ100行を含む小さなファイルにファイルします。これが適切かどうかはわかりませんが、元のファイルは次のように区切られています:
COLUMN1 | COLUMN2 | COLUMN3
1 | 2 | 3
4 | 5 | 6
7 | 8 | 9
この分割から生成されたすべてのファイルにヘッダー行が必要です。また、それらは別のディレクトリで生成/移動され、file_01.txt
のような名前パターンに従う必要があります。 、file_02.txt
、など
承認された回答:
gnu split
を使用 ヘッダーを変数に保存してからsplit
することができます 2行目から開始し、--filter
を使用します 最初にヘッダーを書き込み、次に各ピースに99行を書き込み、出力ディレクトリも指定するオプション(例:path to/output dir/
):
header=$(head -n 1 infile.txt)
export header
tail -n +2 infile.txt | split -l 99 -d --additional-suffix=.txt
--filter='{ printf %s\n "$header"; cat; } >path to/output dir/$FILE' - file_
これにより、100行のピースが作成されます
path to/output dir/file_01.txt
path to/output dir/file_02.txt
path to/output dir/file_03.txt
..............................