Distinguer l'extension du nom d'un fichier
Résolu/Fermé
tbeghain
Messages postés
58
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
22 février 2021
-
12 juin 2007 à 17:08
asevere Messages postés 13087 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 23 novembre 2024 - 23 sept. 2008 à 13:53
asevere Messages postés 13087 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 23 novembre 2024 - 23 sept. 2008 à 13:53
Bonjour,
Sur AIX, dans un script shell, j'ai une variable qui contient un nom de fichier (exemple monfic.txt). Comment, à partir de cette variable, puis-je obtenir deux variables, une contenant le nom (monfic), et l'autre l'extension (txt) ?
Merci pour vos réponses
Sur AIX, dans un script shell, j'ai une variable qui contient un nom de fichier (exemple monfic.txt). Comment, à partir de cette variable, puis-je obtenir deux variables, une contenant le nom (monfic), et l'autre l'extension (txt) ?
Merci pour vos réponses
A voir également:
- Distinguer l'extension du nom d'un fichier
- Changer extension fichier - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir un fichier .bin - Guide
5 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
12 juin 2007 à 17:30
12 juin 2007 à 17:30
Salut,
[jp@MDK tmpfs]$ var="commentcamarche.net" [jp@MDK tmpfs]$ echo ${var%.*} commentcamarche [jp@MDK tmpfs]$ echo ${var#*.} net [jp@MDK tmpfs]$;-))
lu
Je ne fais pas de script shell.. mais je dirais que tu peux couper la variable en 2 par rapport au . (point)
et ainsi avoir le nom et l'extension séparé.
Je ne fais pas de script shell.. mais je dirais que tu peux couper la variable en 2 par rapport au . (point)
et ainsi avoir le nom et l'extension séparé.
tbeghain
Messages postés
58
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
22 février 2021
3
12 juin 2007 à 17:19
12 juin 2007 à 17:19
Merci, c'est précisemment ce que je cherche à faire, mais comment le faire ?
sbouli
Messages postés
200
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
14 août 2014
2
23 sept. 2008 à 10:37
23 sept. 2008 à 10:37
Bonjour,
Je rebondi sur ce post, car mes noms de fichier comporte plusieurs points, comment préciser de prendre en compte le dernier ?
exemple de nom :
mail.log.0.10.gz
l'autre option serait de récupérer le nom du fichier une fois décompressé par gunzip ... mais je n'ai pas trouvé de moyen ...
Merci d'avance.
Stéphane
Je rebondi sur ce post, car mes noms de fichier comporte plusieurs points, comment préciser de prendre en compte le dernier ?
exemple de nom :
mail.log.0.10.gz
l'autre option serait de récupérer le nom du fichier une fois décompressé par gunzip ... mais je n'ai pas trouvé de moyen ...
Merci d'avance.
Stéphane
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
23 sept. 2008 à 10:40
23 sept. 2008 à 10:40
Salut,
essaie (je n'ai pas testé)
essaie (je n'ai pas testé)
echo ${var%%.*} echo ${var##*.}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sbouli
Messages postés
200
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
14 août 2014
2
23 sept. 2008 à 10:56
23 sept. 2008 à 10:56
bonjour,
ni l'un ni l'autre, voici la sortie :
mail
gz
Merci
ni l'un ni l'autre, voici la sortie :
gz
Merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
23 sept. 2008 à 11:00
23 sept. 2008 à 11:00
Salut,
Tu veux obtenir quoi au final ???
Tu veux obtenir quoi au final ???
[root@servertest trash]# echo ${var} mail.log.0.10.gz [root@servertest trash]# echo ${var%.*} mail.log.0.10 [root@servertest trash]# echo ${var%%.*} mail [root@servertest trash]# echo ${var#*.} log.0.10.gz [root@servertest trash]# echo ${var##*.} gz [root@servertest trash]#;-))
sbouli
Messages postés
200
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
14 août 2014
2
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
23 sept. 2008 à 11:04
23 sept. 2008 à 11:04
fabuleux ces expressions régulières ... faudrais vraiment que j'arrive à accrocher un jour ... même après avoir passé des jours sur AWK puis en perl, je n'arrive toujours pas à prendre le truc ...
j'aurais dû essayer la première solution en dur, je me suis directement dis, oui donc % c'est le joker jusqu'a premier point et ça renvoi le reste .... or il n'en n'est rien ... utilise ta tête et essais stéphane ....
Merci encore à tout les 2.
Stéphane
j'aurais dû essayer la première solution en dur, je me suis directement dis, oui donc % c'est le joker jusqu'a premier point et ça renvoi le reste .... or il n'en n'est rien ... utilise ta tête et essais stéphane ....
Merci encore à tout les 2.
Stéphane
asevere
Messages postés
13087
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
23 novembre 2024
426
23 sept. 2008 à 11:08
23 sept. 2008 à 11:08
Là, le plus rapide semble être l'uitilisation de SED:
ex: aficher la variable a l'envers, couper le champ 1 le renverser et tu as l'extension
substituer l'extension trouvée en 1 par rien dans la variable.
c2d:~ adrien$ echo $VAR |sed 's/\(.*\)\.\(.*\)/file: \1 ext: \2/' file: mail.log.0.10 ext: gzIl y a d'autres solutions mais qui vont nécéssiter beaucoup de commandes.
ex: aficher la variable a l'envers, couper le champ 1 le renverser et tu as l'extension
substituer l'extension trouvée en 1 par rien dans la variable.
c2d:~ adrien$ ext=$(echo $VAR|rev |cut -f1 -d'.' | rev) c2d:~ adrien$ echo $ext gz c2d:~ adrien$ file=${VAR/.$ext/} c2d:~ adrien$ echo $file mail.log.0.10 c2d:~ adrien$
asevere
Messages postés
13087
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
23 novembre 2024
426
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
23 sept. 2008 à 11:09
23 sept. 2008 à 11:09
Arf, et moi, j'ai pas cherché non-plus, je me suis dis, s'il dit que ça ne marche pas, c'est que ça ne marche pas :(
sbouli
Messages postés
200
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
14 août 2014
2
>
asevere
Messages postés
13087
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
23 novembre 2024
23 sept. 2008 à 11:27
23 sept. 2008 à 11:27
euuu hein ????? la réponse de jipicy est nickel ... comme toujours ....
Stéphane
Stéphane
13 juin 2007 à 08:50
13 juin 2007 à 08:51