* Wu, Yue on Thursday, September 24, 2009 at 09:24:35 +0800
> On Wed, Sep 23, 2009 at 09:03:09AM -0500, Kyle Wheeler wrote:
>> On Wednesday, September 23 at 09:45 PM, quoth Wu, Yue:
>>> The logic I need is:
>>>
>>> if maildir A has no mails(new/ tmp/ cur/ are empty)
>>> rm -r A
>>> endif
>>
>> Ahh. How about:
>>
>> if [ $(find A -type f | wc -l) -eq 0 ] ; then
>> rm -r A
rm -r $A
>> fi
>
> Thanks for all replies, mutt uses its own maildir so I have no issue about the
> two apps read/write the same maildirs at one time.
>
> I don't know sh, and I've tried the following sh script, but it doesn't work:
>
> #!/bin/sh
>
> DIR="~/temp/mails/*"
>
> for d in ${DIR}; do
> if [ $(find d -type f | wc -l) -eq 0 ] ; then
> rm -r d
rm -r $d
But I would be careful with rm while developing the script, perhaps do a
echo $d
first, to see what would be removed.
> fi
> done
I also think this does not work with a nested hierarchy. Try this
for a simple nested hierarchy:
mailhier="~/temp/mails"
for md in `find $mailhier -type d \( -name cur -o -name new -o -name tmp
-execdir pwd \; \) -prune`; do
if [ `find "$md" -type f | wc -l` -eq 0 ]; then
echo "$md"
# rm -r "$md"
fi
done
c
--
\black\trash movie _C O W B O Y_ _C A N O E_ _C O M A_
Ein deutscher Western/A German Western
--->> http://www.blacktrash.org/underdogma/ccc.php