Steve Youngs wrote at 10/29/99 03:18 CET: > > Okay, I'm trying to get a script to do one of the following: > > if [ sizeof(file1) < sizeof(file2)]; then > cp file2 file3 > fi > > or > > if [ sizeof(file1) < 1024 ]; then > cp file2 file3 > fi > <snip> Suggestions received were: "Baskette, John" wrote: > > Something like this should work: > > sizeof () { > ls -l $1 | sed 's/ */ /g' | cut -f5 -d' ' > } > <snip> (where the sed command should really read "tr -s ' '" :-) Marc Mutz wrote: > > #!/bin/bash > > size1=$(ls -l file1|(read perms num_hd_links user group size rest; \ > echo $size) ) > size2=$(ls -l file2|(read perms num_hd_links user group size rest; \ > echo $size) ) > > if [ $size1 -gt $size2 ];then > # sizeof(file1) > sizeof(file2) > else > # sizeof(file1) <= sizeof(file2) > fi > <snip> [EMAIL PROTECTED] wrote: > > sizeof() { local lies; lies=$(ls -l $1 2>/dev/null); if test -f $1 > then (echo $lies|cut -d' ' -f 5); > else echo NAN; > fi > } > <snip> All of these focused on providing something like a sizeof function, which is of course the most useful version. But if you just wanted to know what file in a given set was the biggest (the samllest), you'd use biggest_in () { ls -S1 "$@" | head -n1 } or smallest_in () { ls -S1r "$@" | head -n1 } where -S is an abbreviation for --sort=size -1 is an abbreviation for --format=single-column and -r is an abbreviation for --reverse Just found it might be interesting to someone ... Marc -- Marc Mutz <[EMAIL PROTECTED]> http://marc.mutz.com/Encryption-HOWTO/ University of Bielefeld, Dep. of Mathematics / Dep. of Physics PGP-keyID's: 0xd46ce9ab (RSA), 0x7ae55b9e (DSS/DH) - To unsubscribe from this list: send the line "unsubscribe linux-newbie" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.linux-learn.org/faqs