[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:29968] backup ファイルの削除 (Re: Re: find の exec オプションが実行不可能)
佐野@浜松です。
In <20010922001502J.talko@xxxxxxxxxxxxxxx>,
on "Sat, 22 Sep 2001 00:12:25 +0900',
with "[debian-users:29963] Re: find のexec オプションが実行不可能",
smith@xxxxxxxxxxxxxxx さん wrote:
> これでようやく、emacs(などなど)のバックアップファイルを削除することができます。
> ありがとうございました。
えっと、「バックアップファイルの削除」という目的なら
# find . -name '*~' -print -exec rm -i {} \;
のように find の -exec を使うより、xargs を使ったほうが
システムへの負荷が少なくて良いのでは ?
たしか -exec だと対象となったファイルひとつひとつについて
プロセスが生成されるという話があったような。
あ、rm に -i オプションがついているのか。それが無ければ
# find . -name '*~' -print |xargs rm
で済むんだけど。
ふーむ。例えば
LIST=`tempfile`; find ~/Mail/ -name '*.~*' >$LIST; vi $LIST; rm $LIST
とかすれば vi で削除対象のファイルリストを編集した後
一気に削除、とかできそうだけど、どうかな ?
シェルスクリプトにして $HOME/bin とかに置いておけば
毎回打ち込まなくてもすむし。
あ、私は
alias purge='/usr/bin/find . -name "?*~" -o -name "?*.bak" -o -name ".[^.]?*~" -o -name ".*.bak" '
alias onepurge='/usr/bin/find . -name "?*~" -o -name "?*.bak" -o -name ".[^.]?*~" -o -name ".[^.]?*.bak" -maxdepth 1 '
alias mhpurge='/usr/bin/find $HOME/Mail/inbox/ $HOME/Mail/draft/ -name ",?*" -o -name "?*~" -o -name "\#?*" '
alias listpurge='(alias|grep purge)'
とかしてます。purge は現在のディレクトリ以下、全階層について
*~ ?*.bak .[^.]?*~ .*.bak の 4 パターンでファイル検索、
onepurge は現在のディレクトリだけで検索 (下に潜らない)、
mhpurge は mh の不要ファイルを検索、です。$HOME で purge を
実行すると時間かかりすぎるので $HOME 直下のファイルだけ検索
できるように purge とは別に onepurge を用意しています。
これらのコマンドはリストアップするだけなので、最初にチェック
のために purge|lv とした後、purge|xargs rm で一気に削除、と
いうのをよく使ってます。
--
# (わたしのおうちは浜松市、アカウミガメのふるさとの街)
<kgh12351@xxxxxxxxxxx> : Taketoshi Sano (佐野 武俊)