#1 Le 17/07/2012, à 14:38
- Léo13
Script pour renommer des fichiers de 1 à n fichiers [Résolu].
Bonjour,
J'ai 175 fichier de type "xxxxxxx.nc" dans un repertoire que je voudrais renommer de 1 à 175. Je maîtrise trés mal les commandes linux, pouvez-vous m'aider?
Merci d'avance.
Dernière modification par Léo13 (Le 17/07/2012, à 16:21)
Hors ligne
#2 Le 17/07/2012, à 14:45
- ljere
Re : Script pour renommer des fichiers de 1 à n fichiers [Résolu].
au lieu de vouloir réinventer la roue il me semble que ce logiciel fait très bien ce que tu veux
http://doc.ubuntu-fr.org/pyrenamer
ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon
Hors ligne
#3 Le 17/07/2012, à 14:53
- mydjey
Re : Script pour renommer des fichiers de 1 à n fichiers [Résolu].
Ça pourrait être intéressant d'avoir une réponse en ligne de commande aussi.
cf le topic dans lequel Léo13 a posté.
Mon site : http://mydjey.eu/
Hors ligne
#4 Le 17/07/2012, à 14:57
- Léo13
Re : Script pour renommer des fichiers de 1 à n fichiers [Résolu].
Oui, c'est une ligne de commande que je voudrais.
Hors ligne
#5 Le 17/07/2012, à 15:13
- Hizoka
Re : Script pour renommer des fichiers de 1 à n fichiers [Résolu].
x=1
while read
do
mv "${REPLY}" "${REPLY/%nc/${x}}"
((x++))
done < <(ls -1 *.nc)
Mais si tu fais une recherche sur le forum, tu en trouveras plein de topic comme toi....
Il y a rename qui permettrait de tout faire en une commande mais je ne gere pas assez bien...
http://forum.ubuntu-fr.org/viewtopic.ph … 1#p9912621
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#6 Le 17/07/2012, à 16:03
- nesthib
Re : Script pour renommer des fichiers de 1 à n fichiers [Résolu].
un simple :
for file in *.nc ; do mv "${file}" $((++i)).nc ; done
devrait suffire
ajoute un echo devant la commande mv pour vérifier que cela fait bien ce que tu veux
NB. i ne doit pas être définit, ou doit être initialisé à 0
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#7 Le 17/07/2012, à 16:20
- Léo13
Re : Script pour renommer des fichiers de 1 à n fichiers [Résolu].
Merci à Hizoka et nesthib, ca marche sans problème et ca me fait gagner un temps fou.
Hors ligne
#8 Le 17/07/2012, à 17:25
- Hizoka
Re : Script pour renommer des fichiers de 1 à n fichiers [Résolu].
c'est vrai que je me suis fait chié pour rien la
Bien vu nestib !
J'etais partit sur un for mais j'ai changé d'avis
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#9 Le 18/07/2012, à 10:14
- Postmortem
Re : Script pour renommer des fichiers de 1 à n fichiers [Résolu].
Salut,
c'est vrai que je me suis fait chié pour rien la
Bien vu nestib !
J'etais partit sur un for mais j'ai changé d'avis
Puis la boucle sur ls, c'est pas top top
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#10 Le 18/07/2012, à 15:53
- nesthib
Re : Script pour renommer des fichiers de 1 à n fichiers [Résolu].
Ne me fais pas dire ce que je n'ai pas dit Postmortem J'ai dit que cette construction peut être problématique quand tu fais un script qui doit être diffusé et suis toujours d'accord avec ça. De plus, là, tu remarqueras que je lui ai suggéré de vérifier que tout se passe bien avec un echo. Si j'étais sûr de son shell je ne lui aurai pas conseillé
en fait il faudrait demander à chaque fois le retour de $SHELL et vérifier que ça ne soit pas sh ni bash <v4
sinon en pratique j'ai abandonné bash pour zsh et c'est bien plus simple :
zmv '(*).nc' '$((++i)).nc'
na !
edit : même pas besoin des parenthèses autour du « * » en fait
Dernière modification par nesthib (Le 18/07/2012, à 16:00)
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#11 Le 18/07/2012, à 16:04
- Postmortem
Re : Script pour renommer des fichiers de 1 à n fichiers [Résolu].
Je précisais juste à Hizoka que boucler sur ls, c'est pas top. Je ne voulais pas te faire dire quelque chose !
Si tu n'avais pas posté ta solution, j'aurais proposé la même chose que toi, ou très proche.
La construction for i in * fonctionne très bien même avec des noms de fichiers "bizarre" en sh (du moins sur les versions de sh que j'ai testées !) ainsi qu'en bash 3 (et avant je pense)
Edit : un jour, j'essaierai zsh, ça a l'air pas mal du tout... Mais bon, au taf, et c'est pas le premier client chez qui je suis que c'est comme ça, c'est ksh ! Rien que quand on fait du bash ils aiment pas !
Re-edit : Remarque, tu parlais peut-être de $((++i)) quand tu disais qu'il fallait voir s'il n'était pas en sh
Dernière modification par Postmortem (Le 18/07/2012, à 16:10)
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#12 Le 18/07/2012, à 16:57
- Hizoka
Re : Script pour renommer des fichiers de 1 à n fichiers [Résolu].
Je suis d'accord, ma soluce était pas top
pas en grande forme sur ce coup ci
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#13 Le 19/07/2012, à 15:43
- credenhill
Re : Script pour renommer des fichiers de 1 à n fichiers [Résolu].
hello
autre méthode
printf 'mv %s $((++i)).nc\n' *.nc | bash
Hors ligne