#!/usr/bin/ksh ## Count ISD face numbers of different sizes ## Usage: ls ISD.dat | countisd ## Output is saved as newISD.dat ## ## First created: Jian-Guo Li 26 Feb 2010 ## Last modified: Jian-Guo Li 28 Feb 2014 ## ## Use given input files. # if [ $# -ne 2 ] then echo "$0: Usage is $0 U_iside v_jside " exit 1 fi # USide=$1 if test ! -f "$USide" # Check if USide file exists then echo "$USide does not exist" exit 1 fi # VSide=$2 if test ! -f "$VSide" # Check if VSide file exists then echo "$VSide does not exists" exit 1 fi echo "U/V side arrays are from: $USide $VSide" ## sort according to y-size then j and i count # sort -nb +2 -3 +1 -2 +0 -1 G6kISide.d > G6kISide.ds3 # sort -nb +7 +1 -2 +0 -1 G6kJSide.d > G6kJSide.ds8 sort -s -k 3,3n -k 2,2n -k 1,1n $USide > temp1 sort -s -k 8,8n -k 2,2n -k 1,1n $VSide > temp2 ## cut out y-size field for counting cut -c14-19 temp1 > temp3 cut -c51- temp2 > temp8 ## count the different sizes NU1=`grep ' 1 ' temp3 | wc -l ` NU2=`grep ' 2 ' temp3 | wc -l ` NU4=`grep ' 4 ' temp3 | wc -l ` NU8=`grep ' 8 ' temp3 | wc -l ` NUT=`cat temp3 | wc -l ` echo " NU NU1 NU2 NU4 NU8 " echo " $NUT $NU1 $NU2 $NU4 $NU8 " echo " $NUT $NU1 $NU2 $NU4 $NU8 " > temp4 NV1=`grep ' 1' temp8 | wc -l ` NV2=`grep ' 2' temp8 | wc -l ` NV4=`grep ' 4' temp8 | wc -l ` NV8=`grep ' 8' temp8 | wc -l ` NVT=`cat temp8 | wc -l ` echo " NV NV1 NV2 NV4 NV8 " echo " $NVT $NV1 $NV2 $NV4 $NV8 " echo " $NVT $NV1 $NV2 $NV4 $NV8 " > temp5 ## Merge saved counts with sorted face array files cat temp4 temp1 > new_$USide cat temp5 temp2 > new_$VSide ## Clear temporary files rm temp[1-5] temp8 ## All done. exit 0