Usa l'espansione dei parametri:
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 contiene la parte di $t dopo $ stringa di ricerca. La posizione iniziale della sottostringa è quindi la lunghezza dell'intera stringa meno la lunghezza di $rest meno la lunghezza della $searchstring stessa.
Ancora meglio e adatto a più casi (considera '#' contro '##' e avere più di un'istanza di 'IP for') sarebbe rimuovere dalla stringa corrispondente fino alla fine e utilizzare la lunghezza di ciò che rimane.
text="MULTI: primary virtual IP for xyz/x.x.x.x:44595: 10.0.0.12"
search="IP for"
prefix=${text%%$search*}
echo ${#prefix}