ファイルを真っ二つに分割する
行数を基準に真っ二つくらいに分割する
split -l $(expr $(wc -l <in_file> | cut -d " " -f 1) / 2 + 1) <in_file> <out_file_prefix>
例:
split -l $(expr $(wc -l foo.txt | cut -d " " -f 1) / 2 + 1) foo.txt bar.
バッククォート「`」は、ネスト出来ないので、
$(<コマンド>)という書き方でコマンド置換を行った
in_fileの行数が奇数の場合、行数/2だけだと3分割になるので、行数/2+1にした
ただし、行数が偶数だと、真っ二つにはならず、前半が2行多くなる
ここらへんが苦しいので、
1行にこだわらないなら、変数を使って2行以上にする方がいいかも
参考:
Linuxコマンド集 - 【 split 】 ファイルを分割する:ITpro
Linuxコマンドでテキストデータを自在に操る - orangain flavor
シェル・スクリプト・リファレンス - 【 整数計算を行う「expr」 】:ITpro