gawk '/>/ {$0=substr($0,2); sid=$1; next} \ {sl[sid]+=length($0); gccount[sid]+=gsub(/[GgCc]/,"X",$0)} \ END {for(i in gccount) printf "%s\t%.2f\n",i,gccount[i]/sl[i]}' \ mysequences.fasta > gc_count.csv