- PR -

ファイルを消すスクリプト

投稿者投稿内容
みなと
大ベテラン
会議室デビュー日: 2002/06/14
投稿数: 202
お住まい・勤務地: Q州地方の日本海側
投稿日時: 2007-11-15 15:15
こんにちは。

そうですね。4000個もディレクトリがあるのなら
一人の人が掃除して回らないで、手分けした方が良さそうですね。

平均2.5分ってのがどの部分の平均かわからないですけど
waitしないでまわすとちょうどいい感じになるのでしょーか
と考えましたが、1分ってインターバルを維持したければ
やっぱり手分けして、1分以内に収まるような
班を作ってあげないといけないですね。

#日本語がへんですね(笑)
温州蜜柑
ベテラン
会議室デビュー日: 2005/01/24
投稿数: 65
お住まい・勤務地: 東京都
投稿日時: 2007-11-15 20:48
rm /home/a*/Maildir/courierpop3dsize のようにしなかった理由は、
* が展開された結果、rm の引数制限を over することを考慮したから
です。
で、手分けして実行する仕様を実装してみました。
今度は引数が必要です。

sh mailhelp.sh a b c d e
sh mailhelp.sh f g
sh mailhelp.sh h ia i
  :
みたいに実行してみてはどうでしょう?
(あ、未検証なのでテストはしてください。)

コード:

#!/bin/sh

[ "x""$1" = "x" ] && exit # $1は半角にしてください。

while [ $# != 0 ]
do
headwd=
ls /home | {
while read _dir
do
case $_dir in
${headwd}*)
[ -f /home/$_dir/Maildir/courierpop3dsize ] && {
rm -f /home/$_dir/Maildir/courierpop3dsize
}
;;
esac
done
}
shift
done

exit




[ メッセージ編集済み 編集者: 温州蜜柑 編集日時 2007-11-19 00:39 ]

[ メッセージ編集済み 編集者: 温州蜜柑 編集日時 2007-11-19 00:40 ]

スキルアップ/キャリアアップ(JOB@IT)