#1 Le 11/02/2008, à 07:50
- DrDam
selectionner plusieurs fichier à partir de l'extension en bash
Bonjour je voudrais savoir comment d'un point de vue général comment on fait avec un script bash pour :
1-> selectionner tout les fichier *.truc
2-> recupérer le nom de chaque fichier
3-> appliquer une action sur chacun de ces fichier
bon le petit 3 => ça dépend de ce qu'on veut faire
perso je penserai faire un "for each" sur les nom des ficheirs mais je ne sais pas si c'est implenté en bash ...
Tout ce qui a été crée par l'Homme devrait être patrimoine de l'humanité
Vous etes perdu ?, là ce sera trop loin
Hors ligne
#2 Le 11/02/2008, à 08:14
- HymnToLife
Re : selectionner plusieurs fichier à partir de l'extension en bash
for i in *.truc; do echo $i; done
Dernière modification par HymnToLife (Le 11/02/2008, à 08:14)
- Rodrigue, as-tu du cœur ?
- Non, mais j'ai du pique !
Hors ligne
#3 Le 12/02/2008, à 08:54
- Aurel34
Re : selectionner plusieurs fichier à partir de l'extension en bash
version récursive (cherche les sous reps):
find . -name '*.truc' -exec echo {} \;
#4 Le 16/02/2008, à 09:32
- DrDam
Re : selectionner plusieurs fichier à partir de l'extension en bash
ok ça marche dans les deux cas
Mon (nouveau) problème : le $i correspond au "nom_du_fichier.flv" et je voudrais recuperer juste : "nom_du_fichier"
Tout ce qui a été crée par l'Homme devrait être patrimoine de l'humanité
Vous etes perdu ?, là ce sera trop loin
Hors ligne
#5 Le 16/02/2008, à 09:34
- Aurel34
Re : selectionner plusieurs fichier à partir de l'extension en bash
remplace $i par ${i%.truc} (suppression de suffixe)
#6 Le 16/02/2008, à 15:41
- HymnToLife
Re : selectionner plusieurs fichier à partir de l'extension en bash
Ou utilise basename :
firas@nobue ~ % for i in *.jpg; do echo $i; done
20080115-10.jpg
av-869.jpg
jenesuispasunange_01.jpg
jnspua_02.jpg
jnspua_03.jpg
jnspua_04.jpg
mann_holding_virginia_dec_0_60x60.jpg
mann_holding_virginia_dec_0.jpg
microsoft.jpg
firas@nobue ~ % for i in *.jpg; do basename $i .jpg; done
20080115-10
av-869
jenesuispasunange_01
jnspua_02
jnspua_03
jnspua_04
mann_holding_virginia_dec_0_60x60
mann_holding_virginia_dec_0
microsoft
- Rodrigue, as-tu du cœur ?
- Non, mais j'ai du pique !
Hors ligne
#7 Le 16/02/2008, à 16:48
- Aurel34
Re : selectionner plusieurs fichier à partir de l'extension en bash
mais basename ça vire pas le suffixe, si ?
sinon si tu as perl d'installé (ce qui est plus que probable) tu dois avoir le script rename qui sert justement à renommer les fichiers
rename 's/\.truc$/\.machin$/' *.truc
renommera tous des fichier.truc en fichier.machin
#8 Le 16/02/2008, à 16:57
- Aurel34
Re : selectionner plusieurs fichier à partir de l'extension en bash
dans un genre intermédiaire t'as aussi:
find . -name '*.truc' | while read i; do echo "$i ${i%.truc}.machin";done
#9 Le 16/02/2008, à 21:32
- HTL_pas_loggé
Re : selectionner plusieurs fichier à partir de l'extension en bash
mais basename ça vire pas le suffixe, si ?
Lis bien les messages auxquels tu réponds avant de parler...
#10 Le 16/02/2008, à 22:23
- Aurel34
Re : selectionner plusieurs fichier à partir de l'extension en bash
Aurel34 a écrit :mais basename ça vire pas le suffixe, si ?
Lis bien les messages auxquels tu réponds avant de parler...
ok t'énerve pas, j'avais pas tout lu...
je me suis d'ailleurs inscrit pour pouvoir éditer depuis (mais celui là je l'ai posté avant donc c'est mort )
Dernière modification par Aurel34 (Le 16/02/2008, à 22:24)
Hors ligne