find コマンドで一括処理をすると困るのが ドット
find コマンドで、ディレクトリを列挙すると、カレントディレクトリも表示される。
takuya@:~/letsencrypt$ find -type d | head . #←これ邪魔。 ./letshelp-letsencrypt ./letshelp-letsencrypt/docs ./letshelp-letsencrypt/docs/_static ./letshelp-letsencrypt/docs/_templates ./letshelp-letsencrypt/docs/api ./letshelp-letsencrypt/letshelp_letsencrypt ./letshelp-letsencrypt/letshelp_letsencrypt/testdata ./letshelp-letsencrypt/letshelp_letsencrypt/testdata/mods-available ./letshelp-letsencrypt/letshelp_letsencrypt/testdata/mods-enabled
一括処理するときに、だいたい不要なのがカレントディレクトリ
カレントディレクトリって、ほとんど場合、不要じゃないですか?違います?私は不要なことが多いです。
カレントディレクトリを消す
find -mindepth 1
カレントディレクトリは深さ(depth) が 0なので、 mindepth =1とすれば、消すことが出来ます。
もうデフォルトでいいじゃんコレ。
私は、find のデフォルトをmindepth 1 にすることにしました。
ちなみに、find は引数を最初に取るので、alias 出来ないから、function を作ってalias 化のかわりとします。
function find { $( which find ) "$@" -mindepth 1 -not -iwholename '*/.git/*' ; }
.git も使わないのでデフォルト無視としてる
参考資料
http://stackoverflow.com/questions/13525004/how-to-exclude-this-current-dot-folder-from-find-type-d