#!/bin/bash cloc --strip-comments=nc $1 > /dev/null 2>&1 if [ -e "$1.nc" ] then subs=`grep -E "^sub " $1.nc | cut -d' ' -f2 | sort -u` res=(); for sub in ${subs} do grep ${sub} $1.nc | grep -vq "sub ${sub}" if [ "$?" == "1" ] then res=("${res[@]}" "${sub}") fi done if [ ${#res[@]} == 0 ] then echo All subroutines in $1 appear to be used else echo $1 apparently unused: for sub in ${res[@]} do echo " $sub" done fi rm $1.nc else echo "failed to strip comments from $1" fi