The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

    $0 

入力: 1列目はキーで2列目は参照値を持つ、空行区切りまたは複数のファイルによる 複数のデータセット。 ただし、ひとつひとつのデータセットにおいて、キーは全て異なるとしている。

出力: 1列目はキーの合併集合。i行目1列目はキーの値 k[i] 。 i行 j+1列目の値は、j番目のデータセットにおける キー k[i] に対する参照値となる。

オプション: -/ str : 区切り文字をタブから指定した変更する。 -~ : キーとバリューを反転する。(左側をバリュー、右側をキーとみなす。) -_ : キーに下線を引く。ANSIカラーエスケープコードを使用している。 -c : 各キーに該当するファイルの個数を行の先頭に表示する。(このことで共通集合を検出するトリッキーなこともできる。) -f num : キーとバリューを分離する位置を指定する。未指定なら1であり、その場合、最左列とそれ以外に分ける。 -n : キーの出力順序に関して、最初に数値については数の順序でソートし、その次に数値以外を文字列で整列する。 -r : キーの出力順序を逆にする。

    -0 str : 空欄に埋める文字列。たとえば0を指定する。未指定ならundef。
    -1  : 出力する順序に関して、キーの順番は、入力で読み取るときに最初に読みとったキーの順に一致させる。(-r指定があれば逆になる。)
    -2 str : 1つのデータセット(通常はファイル)に、同じキーが2回以上現れた場合の挙動を str で指定。 
    -2 1 : パラメータ文字列に 1の文字が含まれていたら、同じファイルで同じキーに2番目以降に出現した値は初めの値を採用する。
    -2 . : パラメータ文字列に ピリオド(.) が含まれていたら、同じファイルに同じキーに2番目以降に出現した値は最後の値を採用する。
    -2 : : パラメータ文字列に コロン(:) が含まれていたら、同じファイルに同じキーに現れる全ての値が : で連結される。(<-- あまりきれいでないかも)

    --help : このヘルプを表示する。
    --help opt : オプションのヘルプのみ表示する。

その他: * 出力は クロス表作成によく似ているが、クロス表の場合は、2列のデータを同じペア毎に集計している。 $0 は、2列のデータをデータセットの番号と、キーのペアで集計している。 * トリッキーな使い方であるが、-f 100 など十分大きな数を設定することで、各ファイルの行についての合併集合を出力できる。

開発上のメモ: * このプログラムは 2016年3月15日から4月6日にかけて集中的に作成。作者は下野寿之。有用なコマンドと考えていたが、 コマンド名をなかなか決めることが出来なかったので公開を2018年7月23日までしてこなかった。他のコマンドとの オプションの整合性を考え、いくつか修正し、さらにいくつか新たなオプションを追加した。 GPL3のライセンスを指定している。

   * 他に追加する機能が見つからなければ、このマニュアルを英語化する。