#26 Le 07/12/2023, à 14:44
- zool bzh
Re : remplacer tous les carctères avant le .jpg
excuses moi
Voila mon code
for f in *.jpg;do printf -v num "pic%03d.jpg" $((++n)); rename "s/.*.jpg/$num/" $f; done
qui donne pic001, pic002 etc ...
comment faire pour avoir pic0001 etc
Free Party is not a crime
Hors ligne
#27 Le 07/12/2023, à 14:50
- pingouinux
Re : remplacer tous les carctères avant le .jpg
@zool_bzh #26
Il faut remplacer "pic%03d.jpg" par "pic%04d.jpg", et réinitialiser n à zéro.
Hors ligne
#28 Le 07/12/2023, à 15:16
- jplemoine
Re : remplacer tous les carctères avant le .jpg
Tu peux tenter :
num=0;for f in *.jpg;do printf -v num "pic%04d.jpg" $((++n)); rename -n "s/.*.jpg/$num/" $f; done
Mais je ne comprends pas bien le ++n. J'aurais mis num et no pas n.
Ce qui donne :
num=0;for f in *.jpg;do printf -v num "pic%04d.jpg" $((++num)); rename -n "s/.*.jpg/$num/" $f; done
-->Je ne peux pas tester : y aurait-il une âme charitable qui puisse tester (et éventuellement corriger s'il y a lieu) ? Merci.
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#29 Le 07/12/2023, à 16:44
- zool bzh
Re : remplacer tous les carctères avant le .jpg
Pour ma part c'est mieux sans le num, plutôt avec ((++n)) car ça me met erreur de symbole .jpg
merci jplemoine !
Free Party is not a crime
Hors ligne
#30 Le 08/12/2023, à 15:51
- geole
Re : remplacer tous les carctères avant le .jpg
Bonjour
Si le problème n est pas traité, essaie en commandes de base
num=1;for f in *.jpg;do mv -v "$f" pic$(printf %04d $num).jpg ;num=$(($num+1)) ; done
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
Hors ligne
#31 Le 08/12/2023, à 18:23
- Watael
Re : remplacer tous les carctères avant le .jpg
dans l'expression passée à rename, ne faudrait-il pas protéger le point devant jpg, pour qu'il soit interprété en tant que point ?
mais peu importe, car, comme je l'ai déjà dit, dans une boucle shell, rename n'a pas d'utilité.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#32 Le 09/12/2023, à 16:48
- zool bzh
Re : remplacer tous les carctères avant le .jpg
C'est encore moi
je voudrai remplacer tous les [espace] du même nom de fichier par des _
J'ai
for i in * *; do mv "$i" "${i/ /_}"; done
Comment faire ?
Dernière modification par zool bzh (Le 09/12/2023, à 16:50)
Free Party is not a crime
Hors ligne
#33 Le 09/12/2023, à 17:07
- nany
Re : remplacer tous les carctères avant le .jpg
Bonjour,
je voudrai remplacer tous les [espace] du même nom de fichier par des _
J'aifor i in * *; do mv "$i" "${i/ /_}"; done
Comment faire ?
for i in *; do mv "$i" "${i// /_}"; done
${parameter/pattern/string} Pattern substitution. The pattern is expanded to produce a pattern just as in pathname expansion, Parameter is expanded and the longest match of pattern against its value is replaced with string. The match is performed using the rules described under Pattern Matching below. If pattern begins with /, all matches of pattern are replaced with string. Normally only the first match is replaced. If pattern begins with #, it must match at the beginning of the expanded value of parameter. If pattern begins with %, it must match at the end of the expanded value of parameter. If string is null, matches of pattern are deleted and the / following pattern may be omitted. If the nocasematch shell option is enabled, the match is performed without regard to the case of alphabetic characters. If parameter is @ or *, the substitution operation is applied to each positional parameter in turn, and the expansion is the resultant list. If parameter is an array variable subscripted with @ or *, the substitution operation is applied to each member of the array in turn, and the expansion is the resultant list.
Dernière modification par nany (Le 09/12/2023, à 17:13)
Hors ligne
#34 Le 09/12/2023, à 17:12
- zool bzh
Re : remplacer tous les carctères avant le .jpg
salut et merci
Et si je voudrais remplacer les .jPg .jpeg etc ... par .jpg dans tout mon dossier avec un seule commande ?
Sur quelle base puis-je faire ma boucle for ?
Dernière modification par zool bzh (Le 09/12/2023, à 17:36)
Free Party is not a crime
Hors ligne
#35 Le 10/12/2023, à 20:21
- Hizoka
Re : remplacer tous les carctères avant le .jpg
for i in *
do
ext="${i##*.}"
echo mv "$i" "${i%.*}.${ext,,}"
done
Si ça te va, vire le echo
Dernière modification par Hizoka (Le 10/12/2023, à 20:22)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#36 Le 14/12/2023, à 15:48
- zool bzh
Hors ligne