Utiliser l'expansion des paramètres :
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 contient la partie de $t après $chaînederecherche. La position de départ de la sous-chaîne est donc la longueur de toute la chaîne moins la longueur de $rest moins la longueur de $searchstring elle-même.
Encore mieux et adapté à plus de cas (considérez '#' contre '##' et avoir plus d'une instance de 'IP pour') serait de supprimer de la chaîne correspondante jusqu'à la fin et d'utiliser la longueur de ce qui reste.
text="MULTI: primary virtual IP for xyz/x.x.x.x:44595: 10.0.0.12"
search="IP for"
prefix=${text%%$search*}
echo ${#prefix}