日々のエイリアス
bash で auto_pushd もどき
以前はこんなことやっていたが、
function cd() { if [ "x$1" == "x" ]; then pushd ~ > /dev/null else if [ -f "$1" ]; then echo "Not directory" dir=`dirname "$1"` else dir="$1" fi pushd "$dir" > /dev/null fi }
こうした方がシンプルだということに気づいた。
function cd() { pushd -n `pwd` > /dev/null cd -P "$@" }
好みにより -P(シンボリックリンクを物理パスに解決する)をつけている。
この方法、思いついたあとでどこかに書いてあったような気がしてきたんだが、どこだったろう。
f, x, g and t
find, xargs, grep, tee をエイリアスもしくはシェルスクリプト作成。f と g は .svn を無視する。
find . ! \( -name .svn -prune \)
はちょっと頑張って覚えてしまった方がいいと思う。数回タイプ練習すれば指が覚えてくれる。
ちょっとずれるが、yacc/lex の使い方も私は簡単な例を何度も書き取り練習して覚えた。頭のよくない人にはけっこう有効な方法だと思う。
いつの間にか GNU grep には
--exclude-dir=DIR Exclude directories matching the pattern DIR from recursive searches.