Вы можете использовать grep для получения байтового смещения соответствующей части строки:
echo $str | grep -b -o str
Согласно вашему примеру:
[user@host ~]$ echo "The cat sat on the mat" | grep -b -o cat
4:cat
Вы можете передать это в awk, если хотите просто первую часть
echo $str | grep -b -o str | awk 'BEGIN {FS=":"}{print $1}'