Batch file question - average size of file in directory
Giorgos Keramidas
keramida at ceid.upatras.gr
Wed Jan 3 11:10:28 PST 2007
On 2007-01-03 10:42, Kurt Buff <kurt.buff at gmail.com> wrote:
> On 1/2/07, James Long <list at museum.rain.com> wrote:
> <snip my problem description>
> >Hi, Kurt.
> >
> >Can I make some assumptions that simplify things? No kinky filenames,
> >just [a-zA-Z0-9.]. My approach specifically doesn't like colons or
> >spaces, I bet. Also, you say gzipped, so I'm assuming it's ONLY gzip,
> >no bzip2, etc.
>
> Right, no other compression types - just .gz.
>
> Here's a small snippet of the directory listing:
>
> -rw-r----- 1 kurt kurt 108208 Dec 21 06:15 dummy-zKLQEWrDDOZh
> -rw-r----- 1 kurt kurt 24989 Dec 28 17:29 dummy-zfzaEjlURTU1
> -rw-r----- 1 kurt kurt 30596 Jan 2 19:37 stuff-0+-OvVrXcEoq.gz
> -rw-r----- 1 kurt kurt 2055 Dec 22 20:25 stuff-0+19OXqwpEdH.gz
> -rw-r----- 1 kurt kurt 13781 Dec 30 03:53 stuff-0+1bMFK2XvlQ.gz
> -rw-r----- 1 kurt kurt 11485 Dec 20 04:40 stuff-0+5jriDIt0jc.gz
>
>> Here's a first draft [...]
>
> Hmmm....
>
> That's the same basic approach that Giogos took, to uncompress the
> file and count bytes with wc. I'm liking the 'zcat -l' contstruct, as
> it looks more flexible, but then I have to parse the output, probably
> with grep and cut.
Excellent. I didn't know about the -l option of gzip(1) until today :)
You can easily extract the uncompressed size, because it's always in
column 2 and it contains only numeric digits:
gzip -l *.gz *.Z *.z | awk '{print $2}' | grep '[[:digit:]]\+'
Then you can feed the resulting stream of uncompressed sizes to the awk
script I sent before :)
More information about the freebsd-questions
mailing list