A voir également:
- Renommer plusieurs fichiers linux
- Linux renommer plusieurs fichiers - Meilleures réponses
- Renommer une partie du nom de plusieurs fichiers linux - Meilleures réponses
- Renommer plusieurs fichiers en meme temps ✓ - Forum - Linux / Unix
- Renommer plusieurs fichiers en même temps ✓ - Forum - MacOS
- Renommer plusieurs fichiers sous UNIX ✓ - Forum - Linux / Unix
- Renommer plusieurs fichier en ordre ✓ - Forum - Linux / Unix
- Renommer plusieurs fichiers avec mv ✓ - Forum - Linux / Unix
9 réponses
asevere
- Messages postés
- 13079
- Date d'inscription
- lundi 28 janvier 2002
- Statut
- Webmaster
- Dernière intervention
- 16 février 2021
Bonsoir,
Cas A, c'est possible bien sur.
Soit en une seule commande, rename si elle est disponible sur ton système.
Pour le cas B en revanche, je ne voit pas trop ou tu souhaite arriver.
Si 001 -> orange, 002 ->pêche, 003 -> pomme et si la liste n'est pas trop longue, il te faudrait un fichier de correspondance...
exemple:
Voir man sed, man cut
Cordialement
Cas A, c'est possible bien sur.
Soit en une seule commande, rename si elle est disponible sur ton système.
$ rename mesures calculs avril_mesures_*Ou part un simple script sinon:
#!/bin/bash for file in *_mesures_*; do mv $file ${file/mesures/calculs} doneVoir le manuel de bash (man bash) pour les information sur la substitution, d'autre outils existent (sed, awk, etc.) pour faire quelque chose de similaire, mais ce script fonctionnera pour peu que /bin/bash soit présent. :)
Pour le cas B en revanche, je ne voit pas trop ou tu souhaite arriver.
Si 001 -> orange, 002 ->pêche, 003 -> pomme et si la liste n'est pas trop longue, il te faudrait un fichier de correspondance...
exemple:
$ cat correspondace.lst rename_fruits.sh 001:orange 002:peche 003:pomme $ cat rename_fruits.sh #!/bin/bash for file in fruit*; do ref=$(echo $file | sed -r 's/fruit_([0-9]{3}).rtf/\1/') mv $file $(grep $ref correspondace.lst |cut -f2 -d':').rtf done
Voir man sed, man cut
Cordialement
artagon7
- Messages postés
- 336
- Date d'inscription
- dimanche 6 novembre 2005
- Statut
- Membre
- Dernière intervention
- 21 février 2021
Bonjour,
Je donne ici la solution à un problème (le cas B) que j'avais posé il y a cinq mois. Il s'agissait de renommer tous les fichiers présents dans un répertoire donné de façon ordonnée numériquement. Je dois spécifier que la solution ne vient pas de moi (malheureusement ...) mais de quelqu'un d'autre. Voici le script :
#! /bin/bash
#
#**** Script renommer_fichiers_par_lot.sh *****
#
# Description : Script qui renomme tous les fichiers présents dans un répertoire
# donné de façon ordonnée numériquement en incluant un nom commun.
#
rep="/media/sda5/Informatique/Test"
mot="fruit"
cd "$rep"
num=1
for fichier in ${rep}/* ; do
if "$num" -lt "10"; then
mv "$fichier" ${mot}_00${num}.rtf
else
if "$num" -lt "100"; then
mv "$fichier" ${mot}_0${num}.rtf
else
mv "$fichier" ${mot}_${num}.rtf
fi
fi
((num=num+1))
done
Si ce fut utile pour moi, ca peut l'etre pour d'autres egalement ...
Je donne ici la solution à un problème (le cas B) que j'avais posé il y a cinq mois. Il s'agissait de renommer tous les fichiers présents dans un répertoire donné de façon ordonnée numériquement. Je dois spécifier que la solution ne vient pas de moi (malheureusement ...) mais de quelqu'un d'autre. Voici le script :
#! /bin/bash
#
#**** Script renommer_fichiers_par_lot.sh *****
#
# Description : Script qui renomme tous les fichiers présents dans un répertoire
# donné de façon ordonnée numériquement en incluant un nom commun.
#
rep="/media/sda5/Informatique/Test"
mot="fruit"
cd "$rep"
num=1
for fichier in ${rep}/* ; do
if "$num" -lt "10"; then
mv "$fichier" ${mot}_00${num}.rtf
else
if "$num" -lt "100"; then
mv "$fichier" ${mot}_0${num}.rtf
else
mv "$fichier" ${mot}_${num}.rtf
fi
fi
((num=num+1))
done
Si ce fut utile pour moi, ca peut l'etre pour d'autres egalement ...
jeanbi
- Messages postés
- 14709
- Date d'inscription
- samedi 9 décembre 2006
- Statut
- Contributeur
- Dernière intervention
- 26 janvier 2021
bonjour,
et pour ceux qui sont allergique à la ligne de commande
Metamorphose
https://framalibre.org
a+
et pour ceux qui sont allergique à la ligne de commande
Metamorphose
https://framalibre.org
a+
lami20j
- Messages postés
- 21331
- Date d'inscription
- jeudi 4 novembre 2004
- Statut
- Modérateur, Contributeur sécurité
- Dernière intervention
- 30 octobre 2019
Salut,
Cas A
Cas A
for i in $(ls avril_mesures_*);do mv -v $i ${i%%_*}_calculs_${i##*_};done
lami20j
- Messages postés
- 21331
- Date d'inscription
- jeudi 4 novembre 2004
- Statut
- Modérateur, Contributeur sécurité
- Dernière intervention
- 30 octobre 2019
Salut,
Le premier lien que tu m'as donné lami20j n'a pas rapport avec le problème que j'avais posé.
je n'avais même pas pensé à ça :-)) c'était juste la suite de jeanbi
en revanche voici une solution, j'espère que ça te conviendra
Le premier lien que tu m'as donné lami20j n'a pas rapport avec le problème que j'avais posé.
je n'avais même pas pensé à ça :-)) c'était juste la suite de jeanbi
en revanche voici une solution, j'espère que ça te conviendra
$ ls -1t fraise.rtf prune.rtf framboise.rtf poire.rtf cerise.rtf banane.rtf abricot.rtf pomme.rtf peche.rtf orange.rtf $ for fic in $(ls -t);do i=$(($i+1)); mv -v $fic $(printf "fruit_%03d.rtf{$fic}" $i);done && unset i `fraise.rtf' -> `fruit_001.rtf{fraise.rtf}' `prune.rtf' -> `fruit_002.rtf{prune.rtf}' `framboise.rtf' -> `fruit_003.rtf{framboise.rtf}' `poire.rtf' -> `fruit_004.rtf{poire.rtf}' `cerise.rtf' -> `fruit_005.rtf{cerise.rtf}' `banane.rtf' -> `fruit_006.rtf{banane.rtf}' `abricot.rtf' -> `fruit_007.rtf{abricot.rtf}' `pomme.rtf' -> `fruit_008.rtf{pomme.rtf}' `peche.rtf' -> `fruit_009.rtf{peche.rtf}' `orange.rtf' -> `fruit_010.rtf{orange.rtf}' $ ls -1t fruit_001.rtf{fraise.rtf} fruit_002.rtf{prune.rtf} fruit_003.rtf{framboise.rtf} fruit_004.rtf{poire.rtf} fruit_005.rtf{cerise.rtf} fruit_006.rtf{banane.rtf} fruit_007.rtf{abricot.rtf} fruit_008.rtf{pomme.rtf} fruit_009.rtf{peche.rtf} fruit_010.rtf{orange.rtf}
artagon7
- Messages postés
- 336
- Date d'inscription
- dimanche 6 novembre 2005
- Statut
- Membre
- Dernière intervention
- 21 février 2021
lami20j, je viens d'essayer ta solution et effectivement ca fonctionne tres bien. Moi, je l'ai mis dans un script. De plus, elle est beaucoup plus courte que la solution de l'autre personne.
Pendant que tu es la, je vais en profiter pour te soumettre un autre probleme concernant le tri d'un fichier (probleme beaucoup plus complexe celui-la).
Je vais etre de retour dans environ dix minutes ...
Pendant que tu es la, je vais en profiter pour te soumettre un autre probleme concernant le tri d'un fichier (probleme beaucoup plus complexe celui-la).
Je vais etre de retour dans environ dix minutes ...
artagon7
- Messages postés
- 336
- Date d'inscription
- dimanche 6 novembre 2005
- Statut
- Membre
- Dernière intervention
- 21 février 2021
Merci pour vos reponses. Je vais essayer les diverses solutions proposees.
Merci beaucoup
Merci beaucoup
lami20j
- Messages postés
- 21331
- Date d'inscription
- jeudi 4 novembre 2004
- Statut
- Modérateur, Contributeur sécurité
- Dernière intervention
- 30 octobre 2019
Salut,
Salut,
c'est un doublon là ;-)))
probleme pour renommer des fichiers#2
voir aussi renommer plusieurs fichier en ordre#10
Salut,
c'est un doublon là ;-)))
probleme pour renommer des fichiers#2
voir aussi renommer plusieurs fichier en ordre#10
artagon7
- Messages postés
- 336
- Date d'inscription
- dimanche 6 novembre 2005
- Statut
- Membre
- Dernière intervention
- 21 février 2021
Bonjour lami20j,
Le premier lien que tu m'as donné lami20j n'a pas rapport avec le problème que j'avais posé. Tout ce qu'ils ont en commun c'est qu'il renomme les fichiers. Le probleme auquel tu fais reference apporte la même substitution pour tous les fichiers alors que le mien necessite une substitution nouvelle pour chaque fichier.
Ton second lien fait référence cette fois-ci au problème que j'avais pose.
En lisant ton second lien, j'ai constaté qu'il y avait des intervenants pas très polis!
Citation : "mais si tu ne veux pas m'aider tu as juste à ne pas répondre." Hummmm!
Tu sembles avoir pris la remarque avec un grain de sel! Tant qu'a moi il aurait sêché!
Salutations lami20j
Le premier lien que tu m'as donné lami20j n'a pas rapport avec le problème que j'avais posé. Tout ce qu'ils ont en commun c'est qu'il renomme les fichiers. Le probleme auquel tu fais reference apporte la même substitution pour tous les fichiers alors que le mien necessite une substitution nouvelle pour chaque fichier.
Ton second lien fait référence cette fois-ci au problème que j'avais pose.
En lisant ton second lien, j'ai constaté qu'il y avait des intervenants pas très polis!
Citation : "mais si tu ne veux pas m'aider tu as juste à ne pas répondre." Hummmm!
Tu sembles avoir pris la remarque avec un grain de sel! Tant qu'a moi il aurait sêché!
Salutations lami20j
en 2006 j'ai donné une solution avec rename renomer liste fichier linux mais il y a des gens qui font allergie à Perl :-DDD
Je me suis fais avoir aussi une fois, mais c'était pas perl c'était la non exsitance de cette commande sur tout les os linux/unix/bsd/* donc maintenant, je précise :)
@+