BASH: Extrahieren einer Teilzeichenfolge, die von einem bestimmten Text umgeben ist
Ich versuche, Zahlen aus Dateinamen zu extrahieren, die einem bestimmten Muster folgen:
file-8923489_something.txt
another_file-8923489_something.txt
some-other_file-8923489_something.txt
Ich möchte die Zahl extrahieren, die sich zwischen dem Text "file-" und "_something" befindet und mit den obigen 3 Dateinamen funktioniert.
Was ist der beste Weg, um dies zu tun?
Ist dies nur mit Operatoren wie ## und %% möglich? Wie wäre es mit so etwas wie:
filename=file-8923489_something.txt
file=${${filename##*file}%%_something}}
Es hat jedoch nicht wie erwartet funktioniert.