Shell renommer des fichiers avec des conditions
hergo666
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai une liste par exemple de fichiers :
text round01.txt
text round02.txt
text round03.txt
text round04.txt
Je voudrai les renommer à la voler par en :
round01.txt
round02.txt
round03.txt
round04.txt
Je voudrai utiliser le fait qu'il y a un espace et prendre uniquement le texte derrière.
Pour débuger j'ai fais cela :
Sauf que $mod est toujours vide, pourquoi ?
Si je fais un echo sur :
J'ai aussi essayé :
Au final je voulais faire cela :
Mais tant que je n'ai pas résolu le fait que $mod est vide, le renommage ne fonctionne pas.
Merci pour votre aide.
J'ai une liste par exemple de fichiers :
text round01.txt
text round02.txt
text round03.txt
text round04.txt
Je voudrai les renommer à la voler par en :
round01.txt
round02.txt
round03.txt
round04.txt
Je voudrai utiliser le fait qu'il y a un espace et prendre uniquement le texte derrière.
Pour débuger j'ai fais cela :
for var in *; do mod=$var|cut -d\ -f 2; echo "Variable Originale : $var"; echo "Variable Modifiée: $mod" ; done
Sauf que $mod est toujours vide, pourquoi ?
Si je fais un echo sur :
echo mod=$var|cut -d\ -f 2mon fichier est bien renommé comme je le veux.
J'ai aussi essayé :
export mod=$var|cut -d\ -f 2Ca ne fonctionne pas non plus.
Au final je voulais faire cela :
for var in *;do mod=$var|cut -d\ -f 2; mv "$var" $mod ;done
Mais tant que je n'ai pas résolu le fait que $mod est vide, le renommage ne fonctionne pas.
Merci pour votre aide.
A voir également:
- Shell renommer des fichiers avec des conditions
- Renommer des fichiers en masse - Guide
- Classic shell - Télécharger - Personnalisation
- Renommer iphone - Guide
- Lire des fichiers epub - Guide
- Comment renommer quelqu'un sur instagram - Guide
3 réponses
Salut,
Pas la peine de "cut" ni de "pipe", le développement des paramètres suffit :
Sinon, avec "rename" (enlever le "-n" si concluant) :
Pas la peine de "cut" ni de "pipe", le développement des paramètres suffit :
$ var="text round01.txt" $ echo ${var} text round01.txt $ echo ${var#* } round01.txt
Sinon, avec "rename" (enlever le "-n" si concluant) :
$ touch "text round01.txt" $ rename -n 's/.* //' *.txt text round01.txt renamed as round01.txt