Ich sehe viele Beispiele und Manpages, wie man Dinge wie Suchen und Ersetzen mit sed, awk oder gawk macht.
In meinem Fall habe ich jedoch einen regulären Ausdruck, den ich für eine Textdatei ausführen möchte, um einen bestimmten Wert zu extrahieren. Ich möchte nicht suchen und ersetzen. Dies wird von Bash aufgerufen. Verwenden wir ein Beispiel:
Beispiel für einen regulären Ausdruck:
.*abc([0-9]+)xyz.*
Beispiel für eine Eingabedatei:
a
b
c
abc12345xyz
a
b
c
So einfach das klingt, ich kann nicht herausfinden, wie man sed / awk / gawk richtig nennt. Was ich gehofft hatte, ist aus meinem Bash-Skript heraus:
myvalue=$( sed <...something...> input.txt )
Dinge, die ich versucht habe, sind:
sed -e 's/.*([0-9]).*/\\1/g' example.txt # extracts the entire input file
sed -n 's/.*([0-9]).*/\\1/g' example.txt # extracts nothing