|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2003 Messages : 9 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : septembre 2003 Messages : 9 ![]() |
salut c'est encore moi
En fait j'ai oublié de preciser que je suis sous Unix et que 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 for i in $(ls 010*); do mv $i ${i%%_*}_$vdate 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 main |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 971 ![]() |
peut être simplifié en Tu auras une erreur si aucun fichier ne correspond mais c'est facile à détecter.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com