$0 [-r] -(p|n) num1,num2,num3 ... < somefile
指定された数に応じて、入力の複数の行をまとめたり、先頭から指定の数だけ抽出したりする。
$0 -[r]p n1,n2,..,nk < somefile
$0 -[r]! n1,n2,..,nk < somefile
オプション:
-p : 入力行を逐次n1行、n2行、...、nk行を1行ずつにまとめる。
-! : 入力のx行目についてからnx個取り出す(nxが負なら末尾から-nx個を取り出す)。
-r : 引数に与えられた n1,n2,..,nk は無限に繰り返されると見なす。
-x : 入力が尽きるか、指定された数が尽きた場合でも、出力指定がある限り、空行を出力。(-pの場合のみ)
--help : この $0 のヘルプメッセージを出す。 perldoc -t $0 | cat でもほぼ同じ。
--help opt : オプションのみのヘルプを出す。opt以外でも options と先頭が1文字以上一致すれば良い。
開発上のメモ :
* -x の場合について、動作をよく確認せよ。説明が正しいか。プログラムに一貫性があるか確認すること。
* $0 -rp num で 入力データの行数が num の倍数で無いときに、出力の最後が 改行文字では無くなる。要対策。