Home | History | Annotate | Line # | Download | only in bin
      1 #!/bin/sh
      2 
      3 set -e
      4 
      5 usage()
      6 {
      7 	printf "USAGE:\n\t$0 [-eq|-ne|-lt|-le|-gt|-ge] FILE1 FILE2\n"
      8 }
      9 
     10 help()
     11 {
     12 	printf "Small utility to compare file sizes without printing them with set -x.\n\n"
     13 	usage
     14 }
     15 
     16 case "$1" in
     17 	-h) help; exit 0  ;;
     18 	--help) help; exit 0 ;;
     19 esac
     20 
     21 if ! test -f $2; then
     22 	printf "FILE1='%b' is not a file\n\n" "$2"
     23 	usage
     24 	exit 1
     25 fi
     26 
     27 if ! test -f $3; then
     28 	printf "FILE2='%b' is not a file\n\n" "$3"
     29 	usage
     30 	exit 1
     31 fi
     32 
     33 
     34 size1=$(wc -c < $2)
     35 size2=$(wc -c < $3)
     36 
     37 case "$1" in
     38 	-eq) [ "$size1" -eq "$size2" ] ;;
     39 	-ne) [ "$size1" -ne "$size2" ] ;;
     40 	-lt) [ "$size1" -lt "$size2" ] ;;
     41 	-le) [ "$size1" -le "$size2" ] ;;
     42 	-gt) [ "$size1" -gt "$size2" ] ;;
     43 	-ge) [ "$size1" -ge "$size2" ] ;;
     44 esac
     45