Shell renommer des fichiers avec des conditions
                    
        
     
             
                    hergo666
    
        
    
                    Messages postés
            
                
     
             
            2
        
            
                                    Statut
            Membre
                    
                -
                                     
zipe31 Messages postés 38797 Statut Contributeur -
        zipe31 Messages postés 38797 Statut Contributeur -
        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 son 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
