2004年07月27日
bsfilter で Argument list too long
スパムメールを除去するために、bsfilter を使っているのだけど、公式で推奨されているように
$ bsfilter --add-clean ~/Mail/inbox/*
とすると、メールの数が多いときに、「Argument list too long」というエラーが出てしまう。
これに対処するために xargs を使うとよいだろう。xargs はコマンドライン引数として与えられる最大長を超えたときには、自動で複数プロセスにわけて起動してくれる賢い人のようだ。
$ find ~/Mail/inbox/ -type f|xargs bsfilter --add-clean
ただし、find は指定されたディレクトリ以下のファイルを全てリストアップしちゃうので注意。find で1階層だけ検索することって、できないんだろうか。