2006-11-01から1ヶ月間の記事一覧
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=…
現時点では 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…
サスペンドしたときは vim の画面がそのまま残り、vim を終了したときは起動前の画面を復元してほしい。 vim は C-z にもマッピングできるので、そこで t_ti と t_te を空にして、さらに au VimLeavePre などで終了前に t_te を復元すればいいのだが、制御コ…
http://www.jaist.ac.jp/~fujieda/scancode.html http://www.jsdlab.co.jp/~kei/tips/swap.html スペース 0x39 半角/全角(漢字) 0x29 Esc 0x01 英数(Caps Lock) 0x3a 左Ctrl 0x1d 右Ctrl 0xe01d 左Alt 0x38 右Alt 0xe038 Caps Lock 0x3a 無変換 0x7b 変換 0x…
会社の Solaris10 に enhance というコマンドが入っていた。 これは本来行編集機能を持たないコマンドと端末の間でブリッジとして働き、readline そっくりな行編集機能を提供するものらしい。 このようにして起動すると $ enhance sqlplussqlplus で ↑ 履歴…
http://kaptain.sourceforge.net/ Kaptain は grep や find などの GUI フロントエンドを自動作成するツール。 コマンドの構文を文脈自由文法で書いておくと、それをもとにダイアログを生成する。 ユーザがそのダイアログに値を入力して OK ボタンを押すと、…
UFS2 text undelete UFS (正確にはUFS2) 内の削除テキストファイル復活を試みます。 http://www.abk.nu/~nabe/prog_down/prog_down.htm
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 という…
CUI (Composite User Interface) http://linux.pte.hu/~pipas/CUI/ FreeBSD でもインクルードパスを書いてやるとビルド成功したが、共有ライブラリのバージョンが合わないためか実行時にこけた。 Anthias 今は専用のシェルでしか動かない? Requires: QT 4.2…
tee(1) の拡張版。 http://www.npcguild.org/software/pundits/index.html こんなことができる。 # 標準入力から読み込んだ行を既存のファイルに追加する ... | Tee -a /var/log/myapp | ... # 2つのコマンドに同時にパイプ ... | sort ... | Tee '|head -1 …
する 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…
find . -type f -print0|xargs -0 ls -l|grep "11 25 ..:.."制限: ファイル名にこの形が入っていたらアウト ls -l の出力フォーマットは実装によって異なる 半年以上前のファイルは時刻でなく年が表示される -print0, -0 が使えない場合もある しかし shtoo…
man 7 ports に色々書いてある。 ports からプログラムを探す: cd /usr/ports make search key=spread # 名前、コメント、依存関係から検索 make search name=vim # 名前だかから検索FreeBSD ハンドブック portupgrade や pkg_db については書いていない。 …
コマンドのソースのありかを知ることができる。 BSD 使っててよかったと思えるコマンド。 $ whereis -s gdb gdb: /usr/src/gnu/usr.bin/gdb $ whereis -s vim vim: /usr/ports/editors/vim $ whereis -s ls ls: /usr/src/bin/ls
http://freshmeat.net/projects/john/
ソースを公開してるのが売りらしい。 FreeBSD ports にもあった。 http://freshmeat.net/projects/fcrackzip/
tar, gz, bz2, lha, zip, rpm などなんでも展開できる。 カレントディレクトリに中身のファイルをぶちまけない。 圧縮、中身表示、diff もできる。 Requires Perl 5.004 or later http://freshmeat.net/projects/atool/
http://d.hatena.ne.jp/odz/20061122/1164261785 open mode とか append mode ってのは単に insert mode をさらに細かく分けているわけで、生粋の vi 使いに聞いたらこの3つを答えるんじゃないかと思うのだがどうだろう。 それは私も分かって書いています。…
Autoconf: 10. Portable Shell Programming http://www.gnu.org/software/autoconf/manual/autoconf-2.57/html_chapter/autoconf_10.html#SEC123 obj という名前のディレクトリがあると、BSD make は Makefile を読む前にそこへ cd してしまう。 obj という…
シンボリックリンクをつきあたりまでたどるもの。 realpath, readlink はないと困る。 tracelink() { target="$1" if [ -e "$target" ];then if [ -L "$target" ];then echo "$target ->" "$0" `ls -ld "$target" | sed -e 's@.* -> @@'` else ls -ld "$targ…
/dev/zero はどういった経緯で考え出されたのだろう。FreeBSD の man によると 4.4 BSD かららしい。BSD が起源なのだろうか。/usr/share/misc/bsd-family-tree によると 4.4BSD は1993年。割りと新しい。今では Solaris, Linux にもあることを考えると、そ…
最近初めて Solaris の vi を使って気がついたのだが、set showmode したときのモード表示がたくさんある。 インサートモードに入るのに使ったキーによって、次のように変わる。 i, I INSERT MODE a, A APPEND MODE o, O OPEN MODE c モーション(1行以内) CH…
FreeBSD の /dev 以下にある tty* とかの意味を知らなかったのでちょっと調べてみた。 console, ttyv0 C-A-F1に対応。デフォルトコンソール。 ttyv1 C-A-F2 に対応。 ... ttyv8 C-A-F9 に対応。X が使う。 ttyv1 から ttyv8 までを仮想コンソールという。 tt…
http://www.unixreview.com/documents/s=9083/ur0403c/ 日付計算用ユーティリティ。C 版と awk 版がある。 Here are the supported options (together with non-trivial examples): -b Basedate of today (or date specified)" since Jan. 1, 0001" EXAMPLE:…
http://www.ossp.org/pkg/tool/shtool/ iselect と同じ OSSP プロジェクトの shtool。 echo, mdate など ポータビリティの問題を解決するものや、ちょっと便利なコマンドが入っている。 Apache や OpenPKG でも使われているらしい。 echo echo(1) と同じ。ポ…
xargs は実行するコマンドが与えられなかったときは echo を使うので、これによって標準入力から受け取った行を連結することができる。 Solaris の man xargs にのってた。 次の例では、カッコで囲まれたコマンドの実行結果を 1 行にまとめ、それを log とい…
iselect http://www.ossp.org/pkg/tool/iselect/ iselect も素晴らしいコマンドなのだが、デフォルトで入っているシステムはほとんどないため、積極的に使うのはためらわれていた。 そこで vim を使って代替スクリプト vselect を作ってみた。 #!/bin/sh rm …
calendar(1) はなかなか便利だし、シンプルさが Unix らしくて好きなコマンドなのだが、Redhat には入っていないし、あまり知られていないようだ。 これを Windows でも使いたいので VBScript で書いてみた。スタートアップに入れるとちょうどいいかも。 カ…