Utility Programs

Original Author: Masanao Izumo [email protected]

これらのユーティリティプログラム集は全く無保証のフリーです. 再配布,修正,他のプログラムに用いることなど自由に行なっても構いませんが, いかなる障害が起こっても私は一切の責任を負いません.

お勧めは,
bms, ipcalc, ctype, tcprelay, cq, stat, ovw
です,

oda	od -a と似た働きをする.
	od -a は,8 ビット目を落して表示するが,oda は 128 以上のコードを
	8 進数 3 桁で表現する.

ctype	ctype 関数(マクロ)群 のチェック用.ASCII 0 〜 127 について,
	以下のテストを行なう.
	isalnum, isalpha, isascii, iscntrl, isdigit, isgraph, islower,
	isprint, ispunct, isspace, isupper, isxdigit

prime	素数列生成プログラム.
	prime 1000	1000 までの素数を表示する(エラトステネスのふるい).
	prime		永遠と素数を表示する(遅い).

chist	文字コードヒストグラム.
	chist -8 とすると 8 ビットキャラクタを認識する.-8 を省略すると,
	8 ビット目が立っている文字は無視する.

inet_addr
	10 進ドットフォーマット IP アドレスを 32 ビット整数に変換し,
	10 進整数で表示.
	inet_addr [ network-address ... ]
	network-address は a.b.c.d のような IP アドレス.

inet_ntoa
	10 進整数表されたで IP アドレスを,10 進ドットフォーマット IP
	アドレスで表示.
	inet_addr [ network-address ... ]
	network-address は 10 進整数.

xor8	文字の 8 ビット目を反転して表示する.8 ビット目の落ちた
	EUC 日本語コードの復元に役立つかも.
	文字化けメールの復元は,bcut と合わせて用いると,ある程度は復元
	できるかも.

httpget	httpget URL で指定されたファイルをとってくる.URL は http で指定.
	Netscape や Mosaic などの重そーなものを立ちあげたくない時に便利.
	-d オプションをつけるとサーバが挿入するヘッダを飛ばして,
	中身のみをとってくるようになる.
	httpget [-d] URL

bms     BM search を用いて,ファイル内に指定した文字列が含まれているか
	どうかをチェックする.fgrep よりも高速である。
	大量のファイル,巨大なファイルに対して用いる場合も,高速に動作する.
	使い方は
	bms [options] [-e] pattern [ file ... ]
	-1	1 回のみマッチ.
	-c	マッチした回数を表示.
	-C <n>	マッチした行の前後 <n> 行を表示.
	-E	EUC コードに変換してマッチング.
	-e	次にくる引数がパターンであることを意味.
	-d >n>	-r で再帰的にディレクトリを辿る場合,その深さの最大値を指定.
	-f <name> <name> にマッチするファイル名のみ、検索する.
                  <name> にはシェルの正規表現 ?, \, [], * が使える.
	-h	ヘルプ表示.
	-i	大文字子文字を区別しない.
	-l	マッチしたファイル名のみを表示.
	-M	マッチした場所の表示を反転しない.
	-m	マッチした場所の表示を反転する.
	-n	マッチした場所の行番号を表示.
	-r	ディレクトリを再帰的にたどる.
	-V	バージョン表示.
	-v	マッチしなかった行を表示.
	-x	1 行全体が一致する行を表示.
	-z	*.gz ファイルの中身も検索する(zgrep のような動作をする).

jcode	jis コード表を表示する.

uniqmerge
	複数のファイルを,重複行を取り除いて混ぜる.数万行程度であれば,
	ほとんど O(n) 時間でマージされる.非常に高速である.
	uniqmerge [ -v ] filename [ filename ... ]

bcut	bcut start [ end [ infile [ outfile ] ] ]
	infile の start バイト目から end バイト目までを outfile に書き出す.
	end に `-' を指定すると,最後までを表す.
	infile に `-' を指定すると,標準入力を表す.
	outfile に `-' を指定すると,標準出力を表す.
	outfile が省略されると,標準出力に書き出す.
	infile も省略されると,標準入力からデータを得る.
	end も省略されると,最後まで入力を行なう.

stir	stir [-v] [ filename ... ]
	行をランダムにかき混ぜる.非常に高速である.n 行を O(n log n) 時間
	でランダムに並び換える.
	filename を省略すると,標準入力からデータを読み込む.
	-v オプションをつけると冗長なメッセージを出してくれる.

test-memory
	malloc で 何 Mbytes くらい,データが確保できるかを調べる
	簡単なプログラム.

genpass パスワード作成プログラム
	genpass [ salt ]

crypt	パスワード検証プログラム

x	DES の ECB モードに基づいた暗号化プログラム
	x {e|d} key filename
	e - 暗号化
	d - 復号化
	(GNU の libdes とは、互換性がないので注意。いつか、互換性をとるように
	書き直すかも知れない。そのときは、以前暗号化したデータは復元できなく
	なるから注意)

unixtimer
	カレンダー時間の表示.
	-1 オプションをつけると 1 度だけ表示.
	-f オプションをつけるとより精度を高くして表示.
	unixtimer [-1] [-f]

ctime	ctime の表示.
	ctime [ calender-time ... ]

datetime
	date コマンドの出力の日付を calender-time に変換する.
	datetime "date"

filesize
	ファイルの大きさを表示する.
	-b オプションをつけるとファイルのブロック数を表示する.
	filesize [-b] [-h] filename

stat    ファイルの情報を得る.
	stat filename

lstat   ファイルの情報を得る.
	lstat filename

tcpopen	tcp で指定したホストのポートを開く.
	標準入力に入力された文字は,サーバに渡される.
	サーバからやってきた文字列は標準出力に表示される.
	-pasv オプションをつけると,指定したポートに接続されるまで待つ.
	tcpopen [options] hostname {tcp_port|service}
	tcpopen [options] -pasv    {tcp_port|service}
	options:
	-h                    help
	-timeout <timeout>    time out (default is 900)
	                      '-timeout -' means no time out
	-V                    print version.
	-bufsiz <buffer-size> buffer size (default is 4096)
	-crlf                 map <lf> to <cr><lf>

getservbyname
	getservbyname name proto

eucencode
	EUC 文字を 16 進コードに置き換える.PS の日本語化に役立つ

rmcr    \r(ASCII 13) を取り除く.DOS file ---> UNIX file の変換に役立つ

sort-lines
	sort の高速版.
	比較は,ASCII コードの辞書順に限る.
	sort-lines [ filename ... ]

replace-string
	文字列の置換.超高速な置換です.
	replace-string from to [-e] [ filename ... ]
	テキスト中の from を to に置き換える.
	-e オプションをつけると EUC コードの文字境界の判定処理を
	行ないながら置換する.
	\n や \r などのエスケープシーケンスが利用可能.

expand-file-name
	ファイル名を展開する.
	emacs の expand-file-name とほぼ同じ動作をする.
	expand-file-name [-s] [filename ...]

cpp-symbols
	cpp のマクロシンボルを表示します.

tcprelay
	TCP をリレーします。

gethostbyaddr
	Gets a network host entry by address
	Usage: gethostbyaddr ip-address

cq      文字をクォートして表示します。
	Usage: cq [opts] files...
		-h	help
		-V	version
		-c	c-like (default)
		-o	octal
		-O	octal (all)
		-x	hex
		-X	hex (all)
		-l	less-like

winsize 端末の Window の大きさの値を設定/取得します。
	Usage: winsize
	       winsize ws_row ws_col ws_xpixel ws_ypixel
	大きさに「-」を指定すると、既存の値が用いられます。

stat    ファイルの stat 情報を得ます.

readlink
	シンボリックリンクを表示します.

bitdump 2進数でファイルをダンプ表示します.

ovw	OVer Write
	ファイルをバイナリ編集するのに役立ちます.

ccomm	C 言語のコメントを表示/削除します。
	Usage: ccomm -p filename	コメントのみを表示します。
	       ccomm -r filename	コメント以外を表示します。

ipcalc	IP アドレスのビットマスク計算を行ないます。
	例:
	・ネットマスクを用いて、ネットワークアドレスを求める。
	% ipcalc 210.154.33.106 and 255.255.255.248
	210.154.33.104
	% ipcalc 210.154.33.106 and /29
	210.154.33.104

	・ネットマスクを用いて、ブロードキャストアドレスを求める。
	# ネットマスクは 「/bits」 という省略形で記述できます。
	% ipcalc not /29 or 210.154.33.106 and /29
	210.154.33.111
	# 括弧で式のグルーピングができます。
	% ipcalc not /29 or [ 210.154.33.106 and /29 ]
	210.154.33.111

	サポートしている演算子は以下の通りです(優先順位の低い順)。
	or	bitwise-or を取ります。
	xor	bitwise-xor を取ります。
	and	bitwise-and を取ります。
	not	ビットを反転します。
	オプションは以下の通りです。
	-h	簡単な説明を表示します。
	-H	16 進で結果を表示します。
	-B	2 進で結果を表示します。
	-D	ドット記法で結果を表示します(デフォルト)。


戻る