#!/usr/bin/ksh ## Count selected cell numbers after sorting by size. ## Usage: countcells inputfile ## Output is saved as new_inputfile ## ## First created: Jian-Guo Li 26 Feb 2010 ## Last modified: Jian-Guo Li 25 Feb 2014 ## ## Use given input files. # if [ $# -lt 1 ] then echo "$0: Usage is $0 cell_array " exit 1 fi # clary=$1 if test ! -f "$clary" # Check if input file exists then echo "$clary does not exist" exit 1 fi ## sort according to y-size then j and i count sort -s -k 4,4n -k 2,2n -k 1,1n $clary > new$clary ## cut out y-size field for counting # cut -c18-22 new$clary > temp3 cut -c19-23 new$clary > temp3 ## count the different sizes N1=`grep ' 1 ' temp3 | wc -l ` N2=`grep ' 2 ' temp3 | wc -l ` N4=`grep ' 4 ' temp3 | wc -l ` N8=`grep ' 8 ' temp3 | wc -l ` N12=`expr $N1 + $N2` N48=`expr $N4 + $N8` N9R=`expr $N48 + $N12` # NCp1=`cat temp3 | wc -l ` # NC=`expr $NCp1 - 1` NC=`cat temp3 | wc -l ` N9=`expr $NC - $N9R` echo "NC N1 N2 N4 N8 N9" echo " $NC $N1 $N2 $N4 $N8 $N9 " echo " $NC $N1 $N2 $N4 $N8 " > temp8 cat temp8 new$clary > New_$clary rm temp3 temp8 new$clary exit 0