#51 Le 13/11/2022, à 16:18
- Tawal
Re : [ resolu ] renommer fichiers comportant 4 chiffres consecutifs
Exact (qui en doutait ) !
Je suis allé un peu vite. Toutes mes excuses.
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
#52 Le 10/12/2022, à 10:35
- iznobe
Re : [ resolu ] renommer fichiers comportant 4 chiffres consecutifs
Bonjour ,
J ' essaie desesperemment d' obtenir la commande parfaite
je comprends pourquoi ceci ne me laisse pas les fichiers comportant " 2022 " dans leur nom , renomme tout de même en " (2022) " :
find . -type f -regex ".*[^0-9][0-9][0-9][0-9][0-9]\([^0-9].*\|$\)" -execdir rename -n "s/([0-9][0-9][0-9][0-9])/(\$1)/g; s/\(\(([0-9][0-9][0-9][0-9])/\(\$1/g; s/([0-9][0-9][0-9][0-9])\)\)/\$1\)/g; s/\(([2][0][2][2])\)/(\$1)/g" "{}" \+
je pense que ca revient au meme que celle-ci d' ailleurs :
find . -type f -regex ".*[^0-9][0-9][0-9][0-9][0-9]\([^0-9].*\|$\)" -execdir rename -n "s/([0-9][0-9][0-9][0-9])/(\$1)/g; s/\(\(([0-9][0-9][0-9][0-9])/\(\$1/g; s/([0-9][0-9][0-9][0-9])\)\)/\$1\)/g; s/\((2022)\)/(\$1)/g" "{}" \+
j ' ai aussi essayer :
find . -type f -regex ".*[^0-9][0-9][0-9][0-9][0-9]\([^0-9].*\|$\)" -execdir rename -n "s/([0-9][0-9][0-9][0-9])/(\$1)/g; s/\(\(([0-9][0-9][0-9][0-9])/\(\$1/g; s/([0-9][0-9][0-9][0-9])\)\)/\$1\)/g; s/\((2022)\)/\$1/g" "{}" \+
mais le resultat est identique , : parentheses autour de 2022 : " (2022) " , alors que je voudrais tous renommer sauf 2022 .
EDIT : en faisant un mix avec la commande de depart ( #38 ) et la commande du #41 , ca fonctionne , mais j ' avoue qu ' une derniere chose m' echappe .
find . -type f -regex ".*[^0-9][0-9][0-9][0-9][0-9]\([^0-9].*\|$\)" -execdir rename -n "s/([0-9][0-9][0-9][0-9])/(\$1)/g; s/\(\(([0-9][0-9][0-9][0-9])/\(\$1/g; s/([0-9][0-9][0-9][0-9])\)\)/\$1\)/g; s/\((2022)\)/\$1/g" "{}" \+
Dernière modification par iznobe (Le 10/12/2022, à 10:57)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#53 Le 10/12/2022, à 11:13
- Tawal
Re : [ resolu ] renommer fichiers comportant 4 chiffres consecutifs
Hello,
Pour t'aider à comprendre, dans rename :
- (...) correspond à une sous-expression
- \( et \) sont littéralement les caractères parenthèse ouvrante et parenthèse fermante.
Edit: c'est plus compliqué que ça :
Une commande de substitution de rename est de la forme :
s/expr1/expr2/
Ce que j'ai dit plus haut est vrai pour expr1
Mais ( et \( sont identiques dans expr2 (caractère littéral parenthèse ouvrante). Car expr2 n'est pas une regex mais une chaîne de remplacement.
Dernière modification par Tawal (Le 10/12/2022, à 11:25)
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne