Renommer des fichier

Résolu
Bonjour,

Si on a un dossier qui contient 100 fichiers, le nom de chaqun de ces fichier est de type:
GAL_2011125_2011325_std_fre_A.txt
comment je peux sur Linux changer son nom au:
GAL_2011125_2011325.txt

qqn peut m'aider car je suis débutante en Linux et je dois vraiment trouver une solution de ce problème

Merci d'avance

2 réponses

  1. Contributeur
    Salut,

    Si tous tes fichiers sont du même acabit que dans ton exemple...

    $ ls -1
    GAL_2011125_2011320_std_fre_A.txt
    GAL_2011125_2011321_std_fre_A.txt
    GAL_2011125_2011322_std_fre_A.txt
    GAL_2011125_2011323_std_fre_A.txt
    GAL_2011125_2011324_std_fre_A.txt
    GAL_2011125_2011325_std_fre_A.txt
    
    $ for fich in *;do mv -v "${fich}" $(echo ${fich} | sed 's/_[a-z]\+.*\./\./');done
    'GAL_2011125_2011320_std_fre_A.txt' -> 'GAL_2011125_2011320.txt'
    'GAL_2011125_2011321_std_fre_A.txt' -> 'GAL_2011125_2011321.txt'
    'GAL_2011125_2011322_std_fre_A.txt' -> 'GAL_2011125_2011322.txt'
    'GAL_2011125_2011323_std_fre_A.txt' -> 'GAL_2011125_2011323.txt'
    'GAL_2011125_2011324_std_fre_A.txt' -> 'GAL_2011125_2011324.txt'
    'GAL_2011125_2011325_std_fre_A.txt' -> 'GAL_2011125_2011325.txt'
    
    $ ls -1
    GAL_2011125_2011320.txt
    GAL_2011125_2011321.txt
    GAL_2011125_2011322.txt
    GAL_2011125_2011323.txt
    GAL_2011125_2011324.txt
    GAL_2011125_2011325.txt
    
    $

    ;-))
    0
    1. En fait, j'ai essayé votre code pour des fichiers comme vous avez proposé mais ça marche pas !!

      (Illegal variable name)?
      je sais pas pourquoi??

      et les fichier que je les ai dans le dossier contient aussi des chiffres ;

      GAL_2010121_2012315_32d_f1e_A.txt
      0
      1. Modérateur
        Salut,

        Peux-tu afficher ce que tu tapes? Ca ne permettra de voir l'erreur.
        0
      2. #!/bin/csh
        foreach file (GAL*)
        echo ''
        echo 'hiiii'
        echo ''
        mv -v "${fich}" $(echo ${fich} | sed 's/_[a-z]\+.*\./\./')
        end

        et sur l'ecran il affiche:

        hiiii

        Illegal variable name.
        0
      3. Contributeur
        J'avais prévenu : Si tous tes fichiers sont du même acabit ;-\

        Les fichiers ont tous le même nombre de caractères, du moins dans la partie à garder ?

        Quel shell utilises-tu ?
        0
      4. Modérateur
        Mais bash au lieu de csh
        0
      5. oui tous les fichiers ont le meme nombre de caractères
        0