Použijte rozšíření parametrů:
t="MULTI: primary virtual IP for xyz/x.x.x.x:44595: 10.0.0.12"
searchstring="IP for"
rest=${t#*$searchstring}
echo $(( ${#t} - ${#rest} - ${#searchstring} ))
$rest obsahuje část $t po $searchstring. Počáteční pozice podřetězce je tedy délka celého řetězce mínus délka $rest mínus délka samotného $searchstring.
Ještě lepší a vhodné pro více případů (uvažte '#' versus '##' a mít více než jednu instanci 'IP pro') by bylo odstranit z odpovídajícího řetězce až do konce a použít délku toho, co zbývá.
text="MULTI: primary virtual IP for xyz/x.x.x.x:44595: 10.0.0.12"
search="IP for"
prefix=${text%%$search*}
echo ${#prefix}