On 25.12.2011 23:09, Allan McRae wrote:
> On 26/12/11 03:27, Dave Reisner wrote:
>> On Sun, Dec 25, 2011 at 06:20:27PM +0100, Florian Pritz wrote:
>>> On 25.12.2011 16:06, Dave Reisner wrote:
>>>> Why can't we use @SIZECMD@ here? Same issues as du?
>>>>
>>>
>>> SIZECMD returns one file size per line so we'd also have to add them up.
>>
>> Yup. I do this in paccache:
>>
>> @SIZECMD@ "${candidates[@]}" | awk '{ sum += $1 } END { print sum }'
>
> I'm happy using @SIZECMD@:
>
> allan@mugen ~/tmp/libreoffice
>> find . -print0 | xargs -0 stat -L -c %s | awk '{sum += $1 } END {
> print sum }'
> 196464312
>
> allan@mugen ~/tmp/libreoffice
>> find . -print0 | xargs -0 cat 2>/dev/null | wc -c
> 195276472
>
> allan@mugen ~/tmp/libreoffice
>> du -sb
> 196444140 .
>
> Of course the numbers between the stat and wc approach are different
> because stat adds a "block size" amount for each directory of which
> there is 290 in the libreoffice package:
>
> (196464312 - 195276472) / 4096 = 290
>
> So the SIZECMD approach is filesystem dependent, but in a way that is
> creates minimal difference, unlike the current approach which can wildly
> vary. It is also about the same speed as the current du based approach.find . \! -type -d -print0 -- Florian Pritz
signature.asc
Description: OpenPGP digital signature
