Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
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 08/08/2007, 19h55   #1
Invité régulier
 
Inscription : avril 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 46
Points : 9
Points : 9
Par défaut utilisation du 'for file in'

Bonjour à tous !

J'ai un petit problème :

J'aimerais renomer tous mes fichiers txt commençant pas un chiffre en leur ajoutant un 0 devant. pour cela, je fais :

Code :
 for file in 'ls *txt |grep ^[0-9]'; do mv $file 0$file; done
Mais ça ne marche pas ! Il m'indique

Citation:
mv: ^[0-9] not found
Quelqu'un a une solution qui marche ?

Merci
scalande est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 20h46   #2
LLB
Membre Expert
 
Inscription : mars 2002
Messages : 946
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 946
Points : 1 085
Points : 1 085
Problème de quotes...
Le Shell essaie de faire l'expansion avec ^[0-9] (du globbing, sur les fichiers du répertoire courant). Ajoute des " autour, ça devrait marcher mieux.

Mais, ce n'est pas très joli. Utilise le globbing, c'est fait pour ça ! Pas la peine d'utiliser ls !

Code :
for file in [0-9]*txt; do mv $file 0$file; done
LLB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 21h23   #3
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 970
Points : 1 377
Points : 1 377
Une petite amélioration qui permet de traiter correctement les fichiers contenant des espaces et autres gags.
Code :
for file in [0-9]*txt; do mv "$file" "0$file"; done
jlliagre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 22h12   #4
Invité régulier
 
Inscription : avril 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 46
Points : 9
Points : 9
Par défaut Cool!!

Nickel !

Merci beaucoup !
scalande est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h43.


 
 
 
 
Partenaires

Hébergement Web