1#!/bin/bash 2 3context=6 4while true ; do 5 if [ "$1" = "-C" ] ; then 6 shift 7 context=$1 8 shift 9 continue 10 fi 11 break 12done 13 14 15file=$1 16[ "$file" = "" ] && [ -e err-list ] && file=err-list 17if [[ "$file" = "" ]] ; then 18 echo "Usage: $0 [-C <lines>] [-b] [-k] <file with smatch messages>" 19 echo " -C <lines>: Print <lines> of context" 20 exit 1 21fi 22 23cat $file | while read line ; do 24 code_file=$(echo "$line" | cut -d ':' -f 1) 25 lineno=$(echo "$line" | cut -d ' ' -f 1 | cut -d ':' -f 2) 26 echo "=========================================================" 27 echo "$line" 28 echo "---" 29 tail -n +$(($lineno - ($context - 1))) $code_file | head -n $(($context - 1)) 30 echo "---------------------------------------------------------" 31 tail -n +${lineno} $code_file | head -n $context 32done 33 34