Caractere * dans le nom des fichiers

Résolu/Fermé
toyoyo27 - 28 févr. 2008 à 15:23
toyoyo27 Messages postés 5 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 29 février 2008 - 29 févr. 2008 à 14:02
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...

5 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
29 févr. 2008 à 10:14
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 jeudi 28 février 2008 Statut Membre Dernière intervention 29 février 2008
29 févr. 2008 à 11:09
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
#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 jeudi 28 février 2008 Statut Membre Dernière intervention 29 février 2008
29 févr. 2008 à 14:02
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 jeudi 28 février 2008 Statut Membre Dernière intervention 29 février 2008
28 févr. 2008 à 15:50
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 jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
28 févr. 2008 à 15:55
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 jeudi 28 février 2008 Statut Membre Dernière intervention 29 février 2008
28 févr. 2008 à 18:53
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 jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
28 févr. 2008 à 19:02
[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 jeudi 28 février 2008 Statut Membre Dernière intervention 29 février 2008
29 févr. 2008 à 09:31
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