Shell のコマンド実行回数を数える
Posted by yoosee on Debian at 2008-04-19 22:00 JST1 Shell History | Weboo! Returns.
このネタは定期的に出てくるけど、自分では書いたことが無かった気がするので試しに。awk の切り出しは extended history で保存している都合で、切り出しカラムを $2 から $4 に変えている。直近1000回。
% history-all|tail -1000|awk '{a[$4]++ } END{for(i in a){print a[i] " " i}}' |sort -rn|head 95 lv 59 ls 51 edic 50 ruby 48 cd 43 rm 40 mv 38 sudo 33 jdic 32 w3medic, jdic はそれぞれ dic コマンドを 英和・和英 で起動するための alias。
普段使っているzshでは 横着プログラミング 第3回: 履歴マニア にあるように過去の履歴をひたすら蓄積しているので、その約2万回分でカウント。
% history-all|awk '{a[$4]++ } END{for(i in a){print a[i] " " i}}' |sort -rn|head 1431 lv 1212 google 1062 sudo 960 ls 860 edic 694 w3m 688 cd 657 rm 614 mv 569 grepなんだかやけに sudo が多いような…。
ちなみに google と言うのはコマンドラインから w3m に google 検索パラメータを投げるだけのプログラム。
#!/usr/bin/perl my $arg = join("+", @ARGV); my $q=`echo $arg | nkf -w`; system("w3m \"http://www.google.com/search?lr=lang_ja&q=$q\"");コンソール上で生活していると、これが意外と便利。
Debian での terminal 環境 utf-8 移行に関する覚書
Posted by yoosee on Debian at 2007-12-29 14:00 JST1 Debian lenny/sid での utf-8 環境移行メモ
サーバを入れ替えたタイミングで、なんとなしに terminal 環境を今までの euc-jp 中心から utf-8 に切り替えたのだが、結構あちこち変更するハメになったので、まだ完璧ではないが設定を記録しておく。文字コードの問題はまだしも、East Asian ambiguous char width 周りの問題が鬱陶しい上にスマートで包括的な解決方法が無い。最新の環境にしたのに Bad Knowhow が増えるというのは困ったもんだ。locale: /etc/locale.gen に以下の行が無い場合は追加して locale-gen を実行
ja_JP.UTF-8 UTF-8zsh: .zshrc
export LANG=ja_JP.UTF-8 export OUTPUT_CHARSET=utf-8 export LV="-Ou8"screen: .screenrc
defencoding UTF-8vim: .vimrc
set termencoding=utf-8 set fileencodings=iso-2022-jp,cp932,utf-8,japan set ambiwidth=doubleemacs21 では mule-ucs パッケージを入れて un-define を require する。emacs22 では無くても utf-translate-cjk-mode があるので(CJKだけなら)一応使える。
emacs21/22: .emacs
(when (<= emacs-major-version 21) (require 'un-define)) (set-language-environment "Japanese") (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-buffer-file-coding-system 'utf-8) (set-selection-coding-system 'utf-8) (setq default-buffer-file-coding-system 'utf-8) (prefer-coding-system 'utf-8)これで概ね問題ないが、ambiguous char width を回避するために Emacs22 + UTF-8 における文脈依存な文字幅の問題について のような設定を入れておく。
w3m
特に設定しなくても LANG(LOCALE) に追従して「表示用文字コード」が Unicode (UTF-8) になってくれた。しかし画面表示とカーソル位置がずれていたり画面にゴミが残ったり(再描画すると直る)と、鬱陶しいことになっている。
Gnome, gnome-terminal
特に設定しなくても .xsession から X を LANG=ja_JP.UTF-8 で起動したら対応した。ただ困ったことに、gnome-terminal で utf8 の EastAsian Ambiguous char width 問題の解決策が見当たらない。VTE_CJK_WIDTH を設定する方法は etch では機能せず。仕方がないので xterm -cjk_width ないし mlterm -a 2 の方を使う方針にする。mlterm の方が antialias が綺麗なんだけど、URL link 等の右クリックメニュー機能が無くなったのがちょっと痛い。
PuTTY on Windows
設定から Window > Transrations を [UTF-8] に、Treat CJK ambiguous character as wide をチェック。PuTTY Tray を使っているけどこれで特に問題は無い。CJK以外の多国語を使う場合・terminal の文字コードが混在する場合には問題が出るのかもしれない。
参考
Debian sid の zsh が日本語対応
Posted by yoosee on Debian at 2006-01-23 23:42 JST1 zsh が日本語対応
いつの間にか zsh が日本語対応したようで、日本語一文字をちゃんと一文字として認識している。対応したように見えるのは 4.3.0-dev-2-1 (on Debian sid) で、今まで通りの方は 4.2.5-7 (on Debian sarge) という感じ。Changelog の4.3.0-dev-2-1 - Better UTF-8 support.これだろうか。
zsh の biff 機能
Posted by yoosee on Debian at 2004-12-23 23:42 JST1 zsh の biff 機能
さくらのレンタルサーバに自分で $HOME/local の下に入れた zsh を使っているのだが、事あるたびにzsh: permission denied: /var/mail/yooseeと言われてしまうのが鬱陶しい。さくらの共有サーバでは 1 つの Unix アカウントに複数のメールアドレスが割り当てられており、$HOME/Mailbox/(mailuser)/maildir/ が mail path になり、/var/mail の permission は閉じているようだ。
UNIX今日の技/zsh を参考に、zsh を --enable-maildir-support 付きで recombile した上で
export MAILPATH="/home/yoosee/MailBox/postmaster/maildir/"としておいた。まぁこのサーバでメールは基本的に受けないので MAILCHECK=0 にしておいても良さそうだが、どのみちエラーメッセージが出なければ良いのでこれで良かろう。
2 Google ...
当然のように今回も Google で検索したのだがgoogle://zsh /var/mail -> もしかして: csh /var/mail/と言うのはどうなんだ。