Decouper chaine de caractere (sh) - Shell/Batch - Programmation
Marsh Posté le 10-07-2008 à 14:51:54
matafan a écrit :
|
Je ne pense pas car ma variable peut s'appeler différemment, exemple : toto1296file1224rep.txt
En fait c'est la position qui ne change pas, je récupère toujours le 1296.
Et je travaille dans un script avec une variable et non en ligne de commande avec un fichier.
Marsh Posté le 10-07-2008 à 15:22:31
Bon tout bêtement j'ai trouvé en utilisant cut :
var="totflt1296file.txt"
var2=`echo $var | cut -c7-10`
Mais bon j'aurais aimé le faire avec sed ou awk, si quelqu'un maitrise je suis preneur
Merci
Marsh Posté le 10-07-2008 à 15:46:03
Ben faudrait spécifier un peu plus précisément le problème aussi. C'est vraiment ce qui est entre les caractères 7 et 10 que tu veux récupérer ? Ou bien les chiffres qui suivent "toto" ? Ou bien le premier groupe de chiffres ?
Marsh Posté le 10-07-2008 à 17:41:57
awk '{print substr($0, 5, 4)}' |
Mais cut est la meilleur solution.
Marsh Posté le 10-07-2008 à 21:58:44
Tonio94 a écrit : Bon tout bêtement j'ai trouvé en utilisant cut : |
La soluce avec awk a été donnée
Voici avec sed
Code :
|
Plutôt imbitable non ? Reste avec cut c'est plus simple.
Marsh Posté le 12-07-2008 à 11:01:44
Il y a aussi la solution expr :
$ var="totflt1296file.txt" |
Jean-Pierre.
Marsh Posté le 10-07-2008 à 12:36:58
Bonjour,
Je ne trouve pas comment faire une chose toute simple, découper une chaine de caractère.
var=toto1296file.txt
Il faudrait que je récupère le "1296" seulement, mais cut ne coupe que des fichiers et non des chaines de caractère.
J'imagine en utilisant "sed" mais je ne sais pas m'en servir.
C'est en ksh.
Merci d'avance.
---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti