Je vois beaucoup d'exemples et de pages de manuel sur la façon de faire des choses comme rechercher et remplacer en utilisant sed, awk ou gawk.
Mais dans mon cas, j'ai une expression régulière que je veux exécuter contre un fichier texte pour en extraire une valeur spécifique. Je ne veux pas faire de recherche et de remplacement. Ceci est appelé depuis bash. Prenons un exemple :
Exemple d'expression régulière :
.*abc([0-9]+)xyz.*
Exemple de fichier d'entrée :
a
b
c
abc12345xyz
a
b
c
Aussi simple que cela puisse paraître, je n'arrive pas à trouver comment appeler sed/awk/gawk correctement. Ce que j'espérais faire, c'est à partir de mon bash script ont :
myvalue=$( sed <...something...> input.txt )
Parmi les choses que j'ai essayées, il y a :
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