Some alternative bash things…. ( avoiding unneecessary use of cat / awk / grep …. )
Sometimes I try and avoid spawning an additional process just to get a specific field out of a list.
So, unnecessary use of awk
echo $line | awk '{print $2}'
Instead get bash to convert it to an array (based on IFS) and then output the field …
VAR=( $line ) echo ${VAR[2]}
Unnecessary use of grep
If needing to do a regexp match, and check with a substring is in a string, you could use :
if [[ $var =~ "pattern" ]]; then echo "$var matches pattern..." fi
Unnecessary use of cat
for line in $(cat /path/to/filename) do echo $line .... done
You could do :
while read line do echo $line .... done < /path/to/filename