Renommer des fichier

Résolu
Sara -  
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   -
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

A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
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
Sara
 
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
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Peux-tu afficher ce que tu tapes? Ca ne permettra de voir l'erreur.
0
Sara
 
#!/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
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
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
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Mais bash au lieu de csh
0
Sara
 
oui tous les fichiers ont le meme nombre de caractères
0