split
このコマンドを正常に使用して、大きなファイルを複数の小さなファイルに分割することができました。これは次のコマンドで達成されます。
split -b 1G $temp_path $final_filepath
しかし、注目すべき唯一のことは、これらのファイルに2つのファイルに分割される最後の行が含まれることが多いことです。使用split
や他のコマンドを避ける方法はありますか?
答え1
はい、対応するパラメータを使用しないでください-b
。 ~から分割(1) マニュアルページ:
-b, --bytes=SIZE 各出力ファイルに SIZE バイトを入れます。
-C, --line-bytes=SIZE 出力ファイルごとに最大 SIZE バイトの行を配置します。
-l, --lines=NUMBER 各出力ファイルに NUMBER 行を配置します。
分割では、-b
特定のサイズ(またはKbまたはMB)にファイルを分割するように分割に指示できます。それが行の真ん中であれば、あまりにも悪いです。
分割では、「ライン数」と「フルラインで構成される最大出力ファイルサイズ」がサポートされます。
代わりに、以下を試してください。
split -C 1G $temp_path $final_filepath
この-C
フラグは、すべてのバージョンの分割(特にOS X / Darwin)では使用できません。この場合、gsplit
以下をcoreutils
使用できます。自分で作ったそしてMacポート。