$0
入力: 1列目はキーで2列目は参照値を持つ、空行区切りまたは複数のファイルによる 複数のデータセット。 ただし、ひとつひとつのデータセットにおいて、キーは全て異なるとしている。
出力: 1列目はキーの合併集合。i行目1列目はキーの値 k[i] 。 i行 j+1列目の値は、j番目のデータセットにおける キー k[i] に対する参照値となる。
オプション: -f num : キーとバリューを分離する位置を指定する。未指定なら1であり、その場合、最左列とそれ以外に分ける。
-/ str : 区切り文字をタブから指定した変更する。
-0 str : 空欄に埋める文字列。たとえば0を指定する。未指定ならundef。
-~ : キーとバリューを反転する。(左側をバリュー、右側をキーとみなす。)
-n : キーの出力順序に関して、最初に数値については数の順序でソートし、その次に数値以外を文字列で整列する。
-r : キーの出力順序を逆にする。
-_ : キーに下線を引く。ANSIカラーエスケープコードを使用している。
--help : このヘルプを表示する。
その他: 出力は クロス表作成によく似ているが、クロス表の場合は、2列のデータを同じペア毎に集計している。 $0 は、2列のデータをデータセットの番号と、キーのペアで集計している。
開発上のメモ: * キーの順序については、別のデータ、もしくは1番目のデータを指定して現れたキーの順序となるようにすることが考えられる。 * このプログラムは 2016年3月15日に最初に作成している。