Parametererweiterung verwenden:
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 enthält den Teil von $t after $suchzeichenfolge. Die Startposition des Teilstrings ist daher die Länge des gesamten Strings minus der Länge des $rests minus der Länge des $suchstrings selbst.
Noch besser und für mehr Fälle geeignet (betrachten Sie '#' versus '##' und mehr als eine Instanz von 'IP for') wäre es, aus der übereinstimmenden Zeichenfolge bis zum Ende zu entfernen und die verbleibende Länge zu verwenden.
text="MULTI: primary virtual IP for xyz/x.x.x.x:44595: 10.0.0.12"
search="IP for"
prefix=${text%%$search*}
echo ${#prefix}