Caractere * dans le nom des fichiers

Résolu
toyoyo27 -  
toyoyo27 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Voici mon problème: j'ai une serie de données dont les nom comporte une ou plusiers * 'etoile'
exemple : TOTO.TATA.model ou FIFI**FAFA.model
est-il possible de rennomer ces fichiers en meme temps "il en exixte de 100ene" par une commande ?
D'avance merci...
A voir également:

5 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Ok, ça c'est parce que le shell ksh n'a pas la même faculté de développement des paramètres que le shell bash. Donc essaie comme ça, en espérant que ça ne posera pas de problèmes supplémentaires...
for i in *; do mv ${i} $(echo ${i} | sed 's/\*/_/g'); done
;-))
1
toyoyo27 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
SUPER !!!!!!!

Merci !!!!!!!!!!

Content rosko !!!

Je pense qu'il n'y aurait pas de problème avec d'autres caractères.
Je vais tester car j'ai aissi des fichiers avec des 'espaces' :(


Encore merci !!!
0
simo
 
#ls *.tst
test**1.tst test*2.tst

#for f in `ls *.tst`
>do
>echo $f| sed 's/\*/_/g'
>done

test__1.tst
test_2.tst

;)
ça marche sous aix :)
1
toyoyo27 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
MERCI

Voici au final....

#for f in `find * | grep "*"`
>do
>mv ${f} $(echo ${f} | sed 's/\*/_/g')
>done


:)
:)
0
toyoyo27 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
FAUTES CORRIGEES

Bonjour,
Voici mon problème : j'ai une serie de données dont les noms comportent une ou plusiers * 'etoile'
exemple : TOTO*TATA.model ou FIFI**FAFA.model
Est-il possible de rennomer ces fichiers en meme temps " il en exixte des centaines " par une commande ?
D'avance merci...
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Oui surement, tout dépend comment tu veux les renommer ???
[essai]$ ls
FIFI**FAFA.model  TOTO*TATA.model

[essai]$ for i in *; do cp ${i} ${i}.bak ;done
[essai]$ ls
FIFI**FAFA.model  FIFI**FAFA.model.bak  TOTO*TATA.model  TOTO*TATA.model.bak
[essai]$
;-))
0
toyoyo27 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Salut

Merci pour ta réponse je l'utiliserais pour d'autres applications..
Mais mon problème et de renommer mes fichier pour faire disparaître les fameuses *
exemple : FIFI**FAFA.model devient FIFI__FAFA.model
la plupart de mes commande plante à cause des * contenues dans le nom des fichiers

Encore merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
[essai]$ ls
FIFI**FAFA.model  TOTO*TATA.model

[essai]$ for i in *; do mv ${i} ${i//\*/_}; done

[essai]$ ls
FIFI__FAFA.model  TOTO_TATA.model

[essai]$
;-))
0
toyoyo27 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour

Je viens de tester la commande
voici la réponse

# ls
9834*XXXX±NISN±HSDPOST±MOUL±REP3±±±±GAUCHE±±SUR*3D*7057±D0S*000907*YTH.model
# for i in *; do mv ${i} ${i//\*/_}; done
ksh: ${i//\*/_}: 0403-011 Substitution incorrecte pour cette commande.

j'ai fait le test sous SOLARIS et AIX ...oups j'ai la même réponse


: (
0