$0 -f out < input # 表形式の入力を列ごとに、縦にばらばらのファイルにする。
$0 -c colnum -f out < input # 注目列の値ごとに分類して、ばらばらのファイルへ。
動作 :
入力ファイル file をタブ区切りのtsvファイルであると見なす。
-c が無い場合 には、第n列の値を先頭行から最終行まで、file.n のようなファイル名で保存する。
-c がある場合は、その数の位置の列の値に応じて、入力各行を分類し(横分割し)、各ファイルに格納。
オプション:
-d num : 桁数を指定。生成されるファイルの名前に使われる数をゼロ埋めにするときに便利。
-f str : 出力のファイル群の共通する部分の文字列を指定する。未指定なら "out"。
-g ; gzip 形式で出力する。
-m num : 出力するファイルの個数の設定。未指定なら 200 。
-, str : 入力の区切り文字の指定。未指定なら、\t となる。
-r : 入力の改行コードが \r\n であることの指定。
-@ num : 何行ごとに途中のレポートを返すかを指定する。未指定なら10万行。
-'?' str ; 列が少なすぎる行があった場合に、出力先に格納する文字を指定。未指定なら?。
-= ; 先頭がヘッダ行で始まると仮定する。出力の各ファイルの一行目が入力ファイルの一行目となる。(-cを使う時挙動が変わる。)
--help : この $0 のヘルプメッセージを出す。 perldoc -t $0 | cat でもほぼ同じ。
--help opt : オプションのみのヘルプを出す。opt以外でも options と先頭が1文字以上一致すれば良い。
環境変数 :
$isep : 入力についての区切り文字の指定。未指定なら、タブ文字。
注意点 :
同時に多数の書込ファイルを開くので、ulimit -n でその数を確認すること。