Shell - extraction du nom d'un fichier
Bonjour,
je veux extraire une partie du nom d'un fichier.
Par exemple, j'ai le nom de fichier suivant:
toto_num360.txt et je veux juste récupérer 360.
Alors je mets le commande suivant:
${nom:12:15} (nom étant le nom du fichier)
et au lieu d'obtenir 360, j'obtiens 360.txt.
Quelqu'un sait comment faut il faire pour récupérer seulement 360?
Re: Shell: extraction du nom d'un fichier
Citation:
Envoyé par claralavraie
je veux extraire une partie du nom d'un fichier.
Par exemple, j'ai le nom de fichier suivant:
toto_num360.txt et je veux juste récupérer 360.
Alors je mets le commande suivant:
${nom:12:15} (nom étant le nom du fichier)
et au lieu d'obtenir 360, j'obtiens 360.txt.
Quelqu'un sait comment faut il faire pour récupérer seulement 360?
Oui ... le manuel de bash est clair sur ce point : la syntaxe est ${parametre:debut:longueur}
Donc, si l'on mesure le nom :
Code:
1 2 3 4 5 6 7
| texte : toto_num360.txt
^
debut : 0 1
012345678901234
^
longueur : 123
^ |
Il faut donc, dans le cas présent, coder : Puisque la chaine 360 commence au caractère de rang 8 (ça commence au rang 0) et est longue de 3.