Extraction partie d'une chaine de caracteres
medhtn
-
medhtn -
medhtn -
Bonjour,
Je suis debutant en shell (sh).
J'ai des chaines de caracteres de type :
cas1) string= fblablailegztarblabla.0010.tar.gz
cas2) string= fblablailegztarblabla.0010.tar
J'ai besoin d'un script qui marche pour les deux cas et qui peux m'extraire dans deux var:
var1:
root-name <---- fblablailegztarblabla.0010 dans les deux cas1) et cas2)
var2:
ext <-----tar.gz dans le cas1)
ext <---- tar dans le cas2)
Merci d'avance
PS. Je precise que je parle bien de sh car le problème ne se pose pas en bash grâce à % et %%
Je suis debutant en shell (sh).
J'ai des chaines de caracteres de type :
cas1) string= fblablailegztarblabla.0010.tar.gz
cas2) string= fblablailegztarblabla.0010.tar
J'ai besoin d'un script qui marche pour les deux cas et qui peux m'extraire dans deux var:
var1:
root-name <---- fblablailegztarblabla.0010 dans les deux cas1) et cas2)
var2:
ext <-----tar.gz dans le cas1)
ext <---- tar dans le cas2)
Merci d'avance
PS. Je precise que je parle bien de sh car le problème ne se pose pas en bash grâce à % et %%
A voir également:
- Extraction partie d'une chaine de caracteres
- Caractères spéciaux - Guide
- Caracteres speciaux - Guide
- Plus de chaine tv - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractères spéciaux mac - Guide
2 réponses
Salut,
Une solution avec "sed" :
Une solution avec "sed" :
[tmp]$ var1="fblablailegztarblabla.0010.tar.gz" [tmp]$ var2="fblablailegztarblabla.0010.tar" [tmp]$ echo -e "$var1\n$var2" fblablailegztarblabla.0010.tar.gz fblablailegztarblabla.0010.tar [tmp]$ echo -e "$var1 \n$var2" |sed 's/\.tar.*//' fblablailegztarblabla.0010 fblablailegztarblabla.0010 [tmp]$ echo -e "$var1 \n$var2" |sed 's/.*\(tar.*\)/\1/' tar.gz tar [tmp]$;-))