December 30, 2007
10万行も履歴を残しても意味がないと思われるかもしれないが、履 歴を検索すれば大昔に実行した複雑なワンライナーを再利用できて 便利である*6。簡単な検索ならC-r のインクリメンタル検索で行えるが、ちょっと複雑な場合は grep を使えばいい。たとえば、「カレントディレクトリ以下の大文字の ファイル名をすべて小文字にする」という複雑なワンライナーを再 利用したいときに、コマンドラインに “find” と “tr” という文字 列が含まれていたのを覚えているなら、 % history-all | grep find | grep tr と実行すれば、 5603 13.6.2001 07:11 16:54 find . -depth -print | while read i; do mv $i `dirname $i`/`basename $i | tr A-Z a-z`; done という半年前の履歴が得られる。今後も使いそうなワンライナーな らシェルスクリプトとして実行ファイルを作っておくと便利である。 私の場合は上のワンライナーを downcase-rename という名前のシェ ルスクリプトとして ~/bin に保存した。