Détails
Extraire une sous-chaîne en Bash
Étant donné un nom de fichier de la forme someletters_12345_moreleters.ext
, je veux extraire les 5 chiffres et les mettre dans une variable.
Donc, pour souligner le point, j'ai un nom de fichier avec un nombre x de caractères, puis une séquence de cinq chiffres entourée d'un seul trait de soulignement de chaque côté, puis un autre ensemble de x caractères. Je veux prendre le nombre à 5 chiffres et le mettre dans une variable.
Je suis très intéressé par le nombre de façons différentes dont cela peut être accompli.
680
3
Utilisez [cut][1] :
Plus générique :
[1] : http://www.manpagez.com/man/1/cut/
Solution générique où le numéro peut se trouver n'importe où dans le nom du fichier, en utilisant la première de ces séquences :
Une autre solution pour extraire exactement une partie d'une variable :
Si vos noms de fichiers ont toujours le format
stuff_digits_...
vous pouvez utiliser awk :Encore une autre solution pour enlever tout sauf les chiffres, utilisez
Il existe également la commande bash intégrée 'expr' :