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 %%
Configuration: sun solaris 5.10
2 réponses
-
Salut,
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]$
;-))
-
Bonjour,
Merci beaucoup jipicy,
c'est parfait ton sed!
PS. G beaucoup rigoler pour le coup " man woman " surtout quand tu t'imagine en train de l'expliquer à une femme ne connaissantque windows!