Renommer plusieurs fichiers a la fois
carhod
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
je voudrais renommer des fichiers portant la date d'hier avec la date d'aujourd'hui.
j'ai donc declare deux variables vdate et volddate.
vdate=`date +%Y%m%d` résultat 20080125
volddate= expr ```date +%Y%m%d` - 1` +%Y%m%d` résultat 20080124
La commande suivante for i in $(ls 010*); do mv $i ${i%%_*}_$vdate ; done fonctionne et permet de modifier tous les fichiers commencant pas 010.
Je voudrais en fait renommer tous les fichiers commencant par 010 et se terminant par la date de la veille.
Et j’ai écrit for i in $(ls 010*$volddate); do mv $i ${i%%_*}_$vdate ; done
Mais ca ne marche pas.
Comment je peux placer la variable $volddate à côté de 010*.
Merci
je voudrais renommer des fichiers portant la date d'hier avec la date d'aujourd'hui.
j'ai donc declare deux variables vdate et volddate.
vdate=`date +%Y%m%d` résultat 20080125
volddate= expr ```date +%Y%m%d` - 1` +%Y%m%d` résultat 20080124
La commande suivante for i in $(ls 010*); do mv $i ${i%%_*}_$vdate ; done fonctionne et permet de modifier tous les fichiers commencant pas 010.
Je voudrais en fait renommer tous les fichiers commencant par 010 et se terminant par la date de la veille.
Et j’ai écrit for i in $(ls 010*$volddate); do mv $i ${i%%_*}_$vdate ; done
Mais ca ne marche pas.
Comment je peux placer la variable $volddate à côté de 010*.
Merci
A voir également:
- Renommer plusieurs fichiers a la fois
- Renommer plusieurs fichiers en même temps - Guide
- Comment réduire la taille d'un fichier - Guide
- Renommer iphone - Guide
- Comment renommer quelqu'un sur instagram - Guide
- Fichiers epub - Guide
3 réponses
En fait j'ai oublié de preciser que je suis sous Unix et je narrive pas a utiliser la commande rename.
rename 20080124 20080125 24*
ksh: rename: not found
sous linux ca marche tres bien...
ensuite je ne peux pas faire
$volddate $vdate 010* parce que j'ai 100000 fichiers a renommer et donc il me mets une erreur "too many argument"
je suis oblige de reduire en precisant 010*20080124 qui ramene bcp moins de ligne.
merci de me donner un coup de mail
rename 20080124 20080125 24*
ksh: rename: not found
sous linux ca marche tres bien...
ensuite je ne peux pas faire
$volddate $vdate 010* parce que j'ai 100000 fichiers a renommer et donc il me mets une erreur "too many argument"
je suis oblige de reduire en precisant 010*20080124 qui ramene bcp moins de ligne.
merci de me donner un coup de mail
Salut,
comme ça
comme ça
# for i in $(ls 010*$(date --date '1 days ago' +'%d%m%Y'));do echo $i;done 010_24012008 010_aa_24012008 010_bbb_24012008 010_sdfsd_24012008 # for i in $(ls 010*$(date --date '1 days ago' +'%d%m%Y'));do echo ${i%_*};done 010 010_aa 010_bbb 010_sdfsd # for i in $(ls 010*$(date --date '1 days ago' +'%d%m%Y'));do mv -v $i ${i%_*}_$(date +'%d%m%Y');done `010_24012008' -> `010_25012008' `010_aa_24012008' -> `010_aa_25012008' `010_bbb_24012008' -> `010_bbb_25012008' `010_sdfsd_24012008' -> `010_sdfsd_25012008' # for i in $(ls 010*$(date +'%d%m%Y'));do echo $i;done 010_25012008 010_aa_25012008 010_bbb_25012008 010_sdfsd_25012008 #