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 29/01/2007, 15h41   #1
DIE
Membre à l'essai
 
Inscription : août 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 82
Points : 24
Points : 24
Par défaut Renommer plusieurs fichiers

g réussi avec ceci mais y a-t-il plus simple ?

ls
GIFB11020T
GIFB11015T
GIFB11010T
GIFB11005T


Code :
1
2
3
4
for i in `ls GIFB*`
do
mv $i `echo $i | sed s/GIFB/GIP0/g`
done
DIE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 16h00   #2
DIE
Membre à l'essai
 
Inscription : août 2005
Messages : 82
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 82
Points : 24
Points : 24
dans la foulée je souhaiterais modifié l'intérieur de chaque fichier, en substituant
GIFB par GIP0

cette commande fonctionnne mais comment se passer du fichier temp qu'il me faudra renommer ?

Code :
sed s/GIFB/GIP0/g GIP011005T > temp
est ce plus facile avec awk ?

Merci d'avance
DIE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 17h27   #3
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
plus simple non pas vraiment et qu'est ce que ça a de pas simple ?

pour tout fichier .... substitue truc par machin fin2boucle
plus simple y'a pas c'est propre c'est logique c'est beau.

tu peux bien sur inclure avant le renomage
Code :
vi -c "%s/CHAINE/NEWCHAINE/g|:wq" $i
pour traiter le contenu
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 17h34   #4
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
Citation:
Envoyé par frp31
plus simple non pas vraiment et qu'est ce que ça a de pas simple ?

pour tout fichier .... substitue truc par machin fin2boucle
plus simple y'a pas c'est propre c'est logique c'est beau.

tu peux bien sur inclure avant le renomage
Code :
vi -c "%s/CHAINE/NEWCHAINE/g|:wq" $i
pour traiter le contenu
et même pour s'amuser un peu :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
err=0
for i in `ls GIFB*`
do
vi -c "%s/GIFB/GIPO/g|:wq" $i 
if [ $? -ne 0 ]; then err=1 ; fi
mv $i `echo $i | sed s/GIFB/GIP0/g`
if [ $? -ne 0 ]; then err=1 ; fi
done
if [ $err -ne 0 ]; then err="lamarchefunebre.ogg" ; else err="yeah.ogg" ; fi
mplayer /stock/ogg/libres/$err
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2007, 15h40   #5
Rédacteur/Modérateur
 
Avatar de troumad
 
Homme Bernard SIAUD
Enseignant
Inscription : novembre 2003
Messages : 4 400
Détails du profil
Informations personnelles :
Nom : Homme Bernard SIAUD
Âge : 44
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 4 400
Points : 4 944
Points : 4 944
Citation:
Envoyé par frp31
Code :
1
2
3
4
5
6
7
8
9
10
11
 
err=0
for i in `ls GIFB*`
do
vi -c "%s/GIFB/GIPO/g|:wq" $i 
if [ $? -ne 0 ]; then err=1 ; fi
mv $i `echo $i | sed s/GIFB/GIP0/g`
if [ $? -ne 0 ]; then err=1 ; fi
done
if [ $err -ne 0 ]; then err="lamarchefunebre.ogg" ; else err="yeah.ogg" ; fi
mplayer /stock/ogg/libres/$err
Dire que je demande à mes étudiants d'indenter correctement leur programme pour que ce soit lisible
__________________
Modérateur Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels
troumad est dé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 01h14.


 
 
 
 
Partenaires

Hébergement Web