BINVALUE ファイルの特定値を計算・検査する

書法

BINVALUE [ filename ]* [ options ]*

SHELLMODE

@記述、!記述、^記述

詳細

ファイルに対して定義した固有値を使用して、簡易にファイル一致の検証を行う。
以下の三つの機能を持っている。

  1. 複数のファイルから、その名称と固有値を格納した集計ファイルを作成
  2. 集計ファイルと、元になるファイルの一致を検証
  3. 指定したファイルと一致するファイルを集計ファイルから検索
いずれの場合も、厳密な一致ではないが、少なくとも、内容が異なっていることの検定は可能である。

作成モード

BINVALUE [ filename ]* [ options ]*
指定したファイル名に対して固有値を計算し、出力する。
ファイル名を複数書けばそれらを順に処理する。ファイル名を省略すると標準入力を扱う。

出力は、入力ファイル一つに対して1行で、
ファイル名 TAB 固有値 TAB ファイルサイズEOL
の形式である。標準入力を指定した場合は、ファイル名を出力せず、TAB以降を出力する。

-Qを指定すると、標準入力を扱わない。特に標準入力を使わない限り、 このオプションを指定すべきである。

検査モード

BINVALUE [ sumfilename ]* -R [ options ]*
ファイル名には、集計ファイルを指定する。 集計ファイルの各行で示されたファイルについて順に検査をする。
コマンドラインに、ファイル名を複数書けば、それらを順に処理する。 ファイル名を省略すると標準入力を取り扱う。

集計ファイルの形式は計算モードで出力したタブファイルだが、 空行、あるいは、ファイル名が省略された行は無視する。

再計算した固有値と入力ファイルにある固有値が異なる場合。 つまり、不正と推定できる場合は、ファイル名を出力する。
オプション(-V)を指定すると、不正でない場合にファイル名を出力する。

-Qを指定すると、標準入力を扱わない。

検索モード

BINVALUE { filename }* -Fsumfilename [ options ]*
ファイル名には、検索したいファイル名を記述する。 集計ファイルの各行で示されたファイルと一致を検査し、一致すれば出力する。
コマンドラインに、ファイル名を複数書けば、それらを順に処理する。 標準入力は扱わない。

集計ファイルの形式は計算モードで出力したタブファイルだが、 空行、あるいは、ファイル名が省略された行は無視する。

指定のファイルが、集計ファイル内の固有値とサイズが一致した場合、

ファイル名TAB集計ファイル内でのファイル名 EOL
の形式で出力する。
複数一致するものがあれば、その分だけすべて出力する。 オプション(-1)を指定すると最初の一致だけを出力する。
オプション(-V)を指定すると、 集計ファイル内に一致するものが一つもない場合だけ、ファイル名を出力する。

OPTION

-1
検索モードで最初の一致のみを出力。
-Fsumfile
検索モードに切り替える。集計ファイル名はここで指定する
-Ofilename
出力を指定のファイルに切替える。
-Q
作成モード、検査モードで標準入力の扱いをやめる。
-R
検査モードに切り替える。
-V
検査モード、検索モードで出力条件を逆転する。
-Xorgpath;targpath;
検査モード、検索モードで集計ファイルを読みこんだときに、 その示すファイル名の先頭のパスを置きかえる。
集計ファイルの先頭からorgpathに一致する部分をtargpathに置きかえる。
置き換えが出来ない場合は、エラー。 なるべく、パスの切れ目を示せるように最後に\を含むように指定すると良い。

戻り値

成功すれば1を返す。それ以外では0

用例

参考

バージョン

Ver 1.00初版