$0 [-1] [-h] num1,num2,num3...,numk < somefile

 指定された数に応じて、入力の複数の行をタブ文字区切りで1行にまとめる。
 つまり、num1行を読んで1行にまとめ、次のnum2行を読んで1行にまとめ、ということを繰り返す。
 numkをk番目の1行にまとめたら、-1が指定されていなければ、更にnum1行目をよんで1行に
 まとめる手順に戻る。

$0 -h n1,n2,..,nk < somefile 

 -hが指定された場合は、入力は各行がタブ区切りで列に区切られていると見なし、
 各行の先頭からnumで指定された列だけ抽出する。
 つまり入力の1行目のn1列を出力の1行目として取り出し、入力の2行目のn2列を出力の2行目
 として取り出し、という処理が続く。負の数を指定すると、末尾の列から取り出す。
 残った列は捨てられる。

例: 
  seq 10 | matrixpack 3 
  seq 10 | matrixpack -/: 3,2
  seq 20 | matrixpack 2,3,4
  seq 100 | matrixpack 10 | matrixpack -h "`seq 5`"

オプション: 

-h : 入力のx行目についてからnx個取り出す(nxが負なら末尾から-nx個を取り出す)。
-1 : 引数に与えられた n1,n2,..,nk を通常は繰り返すが、-1が与えられたら繰り返さない。
-a : 入力が尽きるか、指定された数が尽きた場合でも、出力指定がある限り、空行を出力。(-pの場合のみ)
-/ str ; 区切り文字をタブ文字から変更する。

--help : この $0 のヘルプメッセージを出す。  perldoc -t $0 | cat でもほぼ同じ。
--help opt : オプションのみのヘルプを出す。opt以外でも options と先頭が1文字以上一致すれば良い。
--version : バージョン情報の表示