Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/01/2008, 13h40   #1
Invité de passage
 
Inscription : septembre 2003
Messages : 9
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 9
Points : 1
Points : 1
Par défaut renommer plusieurs fichiers a la fois sous unix

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
Carhod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2008, 15h21   #2
Invité de passage
 
Inscription : septembre 2003
Messages : 9
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 9
Points : 1
Points : 1
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
Carhod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2008, 00h24   #3
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 971
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 971
Points : 1 378
Points : 1 378
Code :
for i in $(ls 010*$volddate)
peut être simplifié en Tu auras une erreur si aucun fichier ne correspond mais c'est facile à détecter.
jlliagre est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h19.


 
 
 
 
Partenaires

Hébergement Web