yaotti's diary

QiitaやKobito、Qiita:Teamを作っています。Software is Eating the World

はじめてのshell script

最近やっとzsh&screenをがしがし使うようになり(もはや使ってなかった時のことが考えられない),そこでふと「シェルスクリプト書いたことないなぁ」と思ったので調べてみた&書いてみた.


仕事のtodoをひげぽんさん(id:higepon)のようにChangeLogで管理しているので, EmacsのChangeLog で todo を管理するときにちょっとだけ楽しく - Higepon’s blog - Mona OS and Mosh
より便利にするためにshell scriptを書いてみた.

#!/bin/sh
if [ -n "$1" ];
then
    dir=$1
else
    dir='.'
fi
find $dir -name ChangeLog -exec grep '\<□' {} \;

指定したディレクトリ以下にあるChangeLogファイルから'□'が含まれている行を抜きだして表示する,というだけのもの.
\<は文頭の空の文字列にマッチするらしい.
GNU Emacs Manual - Regexps


ついでに~/binディレクトリ作ってパス通しといた.
少し複雑になるとgaucheとかperlで書いたほうがいいだろうけど,楽だな.

[emacs]clmemo

最近はclmemoに次々とメモするようになった.
あちこちに分散しないしいつでも見られるし,よいですね.


以下設定.改良の余地あり.

(require 'clmemo)
(autoload 'clmemo "clmemo" "ChangeLog memo mode." t)
;; path to ChangeLog memo file
(setq clmemo-file-name "~/howm/clmemo.txt")
;; 好きなキーへバインド
(global-set-key "\C-xM" 'clmemo)
;;changelogタイトル補完
(setq clmemo-title-list '("log" "idea" "todo" "learn" "need2review" "memo" "thought" "my-rule" "schedule" "cook"))
(setq clmemo-time-string-with-weekday 't)