#!/bin/sh ## Basic statistics for NEMO sources per release (code / comments / blank lines) ## loc: lines of code ## lon: " "" notes ## lob: " "" blank printf "%40s %7s(ratio) %7s(ratio) %7s(ratio) %7s\n\n" '' code notes blank sum for release_srcs in "release-3.4/NEMOGCM/NEMO/*" "release-3.6/NEMOGCM/NEMO/*" "release-4.0/src/*"; do sum_loc=0; sum_lon=0; sum_lob=0; sum_ful=0 for dir in ${release_srcs}; do nb_loc=$( find $dir -name *.[fFh]90 -exec grep '^ *[^! ]' {} \; | wc -l ) nb_lon=$( find $dir -name *.[fFh]90 -exec grep '^ *!' {} \; | wc -l ) nb_lob=$( find $dir -name *.[fFh]90 -exec grep '^ *$' {} \; | wc -l ) ratio_c=$( echo "scale = 3; ( ${nb_loc} / ( ${nb_loc} + ${nb_lon} + ${nb_lob} ) ) * 100" | bc | tr . , ) ratio_n=$( echo "scale = 3; ( ${nb_lon} / ( ${nb_loc} + ${nb_lon} + ${nb_lob} ) ) * 100" | bc | tr . , ) ratio_b=$( echo "scale = 3; ( ${nb_lob} / ( ${nb_loc} + ${nb_lon} + ${nb_lob} ) ) * 100" | bc | tr . , ) printf "%-40s %7d(%4.1f%%) %7d(%4.1f%%) %7d(%4.1f%%) %7d\n" \ $dir ${nb_loc} ${ratio_c} ${nb_lon} ${ratio_n} ${nb_lob} ${ratio_b} $(( nb_loc + nb_lon + nb_lob )) sum_loc=$(( sum_loc + nb_loc )) sum_lon=$(( sum_lon + nb_lon )) sum_lob=$(( sum_lob + nb_lob )) sum_ful=$(( sum_ful + nb_loc + nb_lon + nb_lob )) done ratio_c=$( echo "scale = 3; ( ${sum_loc} / ${sum_ful} ) * 100" | bc | tr . , ) ratio_n=$( echo "scale = 3; ( ${sum_lon} / ${sum_ful} ) * 100" | bc | tr . , ) ratio_b=$( echo "scale = 3; ( ${sum_lob} / ${sum_ful} ) * 100" | bc | tr . , ) printf "%40s %7d(%4.1f%%) %7d(%4.1f%%) %7d(%4.1f%%) %7d\n\n" \ sum ${sum_loc} ${ratio_c} ${sum_lon} ${ratio_n} ${sum_lob} ${ratio_b} ${sum_ful} done exit 0