指定コード除去フィルター
dez の主な機能は以下の通りです。
●指定したファイル(または標準入力)から任意の文字だけを除去します
例えば通信ログファイル log.txt の中から EOF(0x1a) を除去するには
dez /0x1a log.txt
とします。このとき
dez /@v/0x1a log.txt
とすれば 0x1a が log.txt 中のどこにいくつあるかの情報を逐一表示します。
除去コードは複数指定可能です。例えば FF(0x0c, ^L) と ESC(0x1b, ^[) を除去したい場合には
dez /0x0c /0x1b log.txt new.txt
とすれば両方のコードを同時に除去したものを new.txt として書き出します。
●テキストファイルの行端文字を変更します
テキストファイルの行端(EOL)は以下のように、OSにより異なっています。
DOS CR/LF 0d0a
UNIX LF 0a
MAC CR 0d
これらを相互に変換する方法は既成のツール(例えば perl など)を使用する事でも可能ですが意外と繁雑です。特に何らかの理由で各種の行端コードが混在した場合には、その正確な状況を確認することはなかなか困難です。dez は標準で
fname 14688 bytes, 419 CR/LF, 0 CR, 0 LF
という行を出力します。これはそれぞれ以下の内容を意味します。
* ファイル名
* ファイルサイズ
* CR/LF の2バイトを一対とした行端の個数
* CR/LF という一対になっていない CR の数
* CR/LF という一対になっていない LF の数
●オプションは dez /xcx1b log.txt などのように一度に指定する事も可能です。
x オプションの次に続く文字は16進数とみなされますが、a-f または A-F 以外の文字が現われた時点で新しいオプションが始まったものと認識されます。
オプションは全て A-Fa-f 以外の文字ですので、混在しても大丈夫です。順序も任意ですが、一部のオプションの間で動作の優位性があります。思い通りの結果が得られない場合には p オプションで除去指定文字を確認するか、v, @ オプションとヌルデバイス (DOS では nul, UNIX では /dev/null) を組み合わせる方法などを用いて指定内容を確認して下さい。