Friday, August 14, 2020

BASH: Position eines Teilstring (Index)

In den Stringfunktionen der Bash, habe ich die Möglichkeit, die Position eines Teilstring innerhalb eines String zu ermitteln (Index) nicht gefunden.

Hier eine Möglichkeit mit grep:

# Das grep(1) arbeitet nicht mehr Zeilenweise; Position ab 0 (Offset)
echo "$string" | grep -o -b -u -F "$substring" | cut -d : -f 1 | head -n 1

Alle Vorkommen werden Zeilenweise ausgegeben. Das head -n 1 ermittelt nur das erste Vorkommen.