1 #!/bin/bash 2 3 context=1 4 if [ "$1" = "-C" ] ; then 5 shift 6 context=$1 7 shift 8 fi 9 10 file=$1 11 if [[ "$file" = "" ]] ; then 12 echo "Usage: $0 [-C <lines of context>] <file with smatch messages>" 13 exit 1 14 fi 15 16 grep 'if();' $file | cut -d ' ' -f1 | while read loc; do 17 code_file=$(echo $loc | cut -d ':' -f 1) 18 line=$(echo $loc | cut -d ':' -f 2) 19 echo "=========================================================" 20 echo $code_file $line 21 tail -n +$(($line - ($context - 1))) $code_file | head -n $(($context - 1)) 22 if [[ $context -gt 1 ]] ; then 23 echo "---------------------------------------------------------" 24 fi 25 tail -n +${line} $code_file | head -n $context 26 done 27