unixtool

rpl 文字列置換ユーティリティ

ファイル中の文字列を置換するユーティリティ。 http://www.laffeycomputer.com/rpl.html Ubuntu なら apt-get でインストールできるので手軽 -a をつけない限りドットで始まるファイル・ディレクトリは無視されるから .svn があっても平気 メッセージがけっ…

zenity - シェルスクリプトでダイアログボックスとか GUI

gnome についてくるコマンドらしい。 http://blogs.sun.com/yappri/entry/zenity 関連: xdialog

CGDB - curses interface to gdb

http://cgdb.sourceforge.net/ curses を使った gdb インターフェイス。 vi キーバインドで gdb を操作できる。かなりいい感じ。 $ cgdb -- a.outで起動。上側のウィンドウがソースウィンドウ(CGDB Mode)。下側が GDB Window (GDB Mode)。 i と Esc で2つの…

indent2tree

パブリックドメイン版 cflow には GNU cflow の -T, --tree * Draw ASCII art treeというオプションがないので、インデントで表された呼び出し構造(オフサイドルール?)をツリー形式に変換するコマンドを書いてみた。 #!/usr/bin/python import sys def ge…

GNU cflow vs パブリックドメイン cflow

今まで cflow を過小評価していた。あらかじめ $ for i in *.c; do cflow $i > $i.cflow; doneとしておいて :grep 関数名 *.cflow とすればクロスリファレンスにもなるし、vim のキー入力のように関数呼び出しが深いソースを読むときは超役に立つ。相互に呼…

Hotwire

コマンドラインとGUIを融合するHotwire http://opentechpress.jp/developer/07/12/03/0133253.shtml http://code.google.com/p/hotwire-shell/ 試す。 [追記:2007-12-09] 現時点ではそれほどのものでもなかった。 コマンドでも操作できるエクスプローラとい…

ファイルシステムの整理に便利なFSlint

http://opentechpress.jp/developer/07/12/03/0131241.shtml

UndoDB

逆ステップ実行で前に戻れる gdb らしい。 http://undo-software.com/undodb_about_brief.html 関連: Omniscient Debugger http://www.radiumsoftware.com/0406.html

lastcomm

実行されたコマンドすべての履歴を取る。 FreeBSD の場合は /etc/rc.conf で accounting_enable="YES"にしておくと /var/account/acct に履歴が作られる。lastcomm で表示する。

bash の連番生成プチハック

bash 3.1.17 で $ echo {01..10} 01 02 03 04 05 06 07 08 09 10とさせるパッチ。 --- braces.c.orig Mon Mar 26 01:31:51 2007 +++ braces.c Mon Mar 26 01:27:29 2007 @@ -61,7 +61,7 @@ static int brace_gobbler __P((char *, size_t, int *, int)); sta…

dd に kill -INFO すると処理状況を表示する。

dd が SIGINFO ( stty(1) の引数 status 参照) シグナルを受けた場合、通常の 処理完了時と同じフォーマットで、その時点の入出力ブロック数を標準エラー出 力に出力します。 dd が SIGINT シグナルを受けた場合、通常の処理完了時と同 じフォーマットで、そ…

HttpTea

HTTP プロキシサーバとして働き、交わされるリクエストとレスポンスを全てログ出力するツール。 通信データの中身を変更することもできる。 http://httptea.sourceforge.net/ Burp proxy http://cydn.cybozu.co.jp/2007/02/_part_1.htmlProxomitron Apache A…

uniq の -d と -u

ファイル a, b はそれぞれ重複する行を含んでいないと仮定する。 # a, b に共通な行を抜き出す cat a b | sort | uniq -d > common # b にだけ含まれる行を抜き出す cat a b | sort | uniq > all cat a all | sort | uniq -u >only_in_b"Shell Programming E…

一風変わった diff

MarkDiff Word 文書を比較。かしこいらしい。1本 66,000円。 http://www.userssoft.co.jp/markdiffj/index/default.htm wdiff 単語単位の diff。 文字単位で diff をとる。 > 現在、テキストファイルの差分をとるツールを探しています。 > 行単位での差分な…

csplit

csplit (context split) 正規表現パターンにマッチする行が表れるごとにファイルを分割する。 Makefile をルールごとに分割する。 csplit -n4 -k Makefile '/^[^ ][^ ]*:/' '{1000}'mdoc(7) ファイル foo.1 を、各セクション毎に 1 ファイルへと分割します (…

くだらないこと

alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..'このエイリアスのかわりに .() { eval "$@" cd .. }とすれば $ . . . . .で任意階層上がれるなあということ。

gdb で VisualStudio キーバインド

VisualStudio キーバインド http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vsintro7/html/vxurfvisualstudio70defaultshortcutkeys.asp kterm + screen + vim + gdb でデバッグするとき VisualStudio のキーバインドを使いたい。 まず…

bash で逆方向 menu-complete

これを .inputrc に書けば C-y で逆方向 menu-complete ができるようになる。 \C-y:"\M--\C-i"menu-complete を C-i (Tab) 以外に割り当てている場合は、上の C-i の部分をそのキーに直す。 http://www.tikirobot.net/wp/2006/03/29/reverse-menu-complete-i…

utashiro's perl scripts

http://www.srekcah.org/~utashiro/perl/scripts/ mg と ramble が面白い。

便利なコマンドあげろや(゚Д゚)ゴルァ

http://pc8.2ch.net/test/read.cgi/linux/991931552/ 驚嘆。 685 From:login:Penguin Date:04/01/22 02:59 ID:6BqOt2vg Mail:sage grep -x -F -f text1 text2 #text1 と text2 に共通に含まれる行を表示 797 From:login:Penguin Date:04/10/03 10:04:33 id:l…

xgrep

Unix Power Tools に掲載の xgrep を解読してみる。 #! /bin/sh # xgrep - print just the matches on separate lines # Written by Greg Ubben, DoD, 3 Feb 1994 if [ $# -eq 0 ]; then echo "Usage: $0 pattern [file...]" >&2 exit 2 fi re=$1; shift #x=…

xd - 日本語対応バイナリダンプ

現時点では EUC, SJIS, JIS に対応。ラインモードもユニーク。 http://ash.jp/ash/src/xd/index.htm

最近書いたシェルスクリプト

注:ロクにテストしていないのもあります。 もっといい方法があったら是非教えてください。 # 先頭から HEADLENGTH 行、末尾から TAILLENGTH 行を取り除く # これは awk を使わないとちょっとつらい # http://home.comcast.net/~j.p.h/cus-faq-2.html#19 bod…

シェルスクリプト

シェルスクリプトについてはこのサイトが最大手のようだ。 http://www.shelldorado.com/ まだ一部しか見て回っていないが、見つけた面白いスクリプト。 Unix Power Tools に掲載の xgrep。 ftp://ftp.ora.com/published/oreilly/power_tools/unix/upt9707.tg…

enhance(1)

会社の Solaris10 に enhance というコマンドが入っていた。 これは本来行編集機能を持たないコマンドと端末の間でブリッジとして働き、readline そっくりな行編集機能を提供するものらしい。 このようにして起動すると $ enhance sqlplussqlplus で ↑ 履歴…

Kaptain - GUI フロントエンド作成ツール

http://kaptain.sourceforge.net/ Kaptain は grep や find などの GUI フロントエンドを自動作成するツール。 コマンドの構文を文脈自由文法で書いておくと、それをもとにダイアログを生成する。 ユーザがそのダイアログに値を入力して OK ボタンを押すと、…

man2html

man から html を生成するスクリプトはたくさんあるようだ。 1個目。FreeBSD ports に入っている。 http://www.nongnu.org/man2html/ 2個目。Linux JM Project で使っている。 http://packages.ccux-linux.de/index.php?pdetail=223 3個目。AutoOpts という…

GUI と CUI の融合を目指したターミナルエミュレータ

CUI (Composite User Interface) http://linux.pte.hu/~pipas/CUI/ FreeBSD でもインクルードパスを書いてやるとビルド成功したが、共有ライブラリのバージョンが合わないためか実行時にこけた。 Anthias 今は専用のシェルでしか動かない? Requires: QT 4.2…

Tee

tee(1) の拡張版。 http://www.npcguild.org/software/pundits/index.html こんなことができる。 # 標準入力から読み込んだ行を既存のファイルに追加する ... | Tee -a /var/log/myapp | ... # 2つのコマンドに同時にパイプ ... | sort ... | Tee '|head -1 …

errnoに対応したエラーメッセージ取得

する awk スクリプト。 http://www-128.ibm.com/developerworks/library/l-util.html zsh/system 版。 http://d.hatena.ne.jp/lurker/20061121/1164116128 mysql には perror というコマンドがついてくる。 http://dev.mysql.com/doc/refman/4.1/ja/perror.h…