Caractere * dans le nom des fichiers

[Résolu/Fermé]
Signaler
-
Messages postés
5
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
29 février 2008
-
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

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
5
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
29 février 2008

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 !!!
#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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
5
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
29 février 2008

MERCI

Voici au final....

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


:)
:)
Messages postés
5
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
29 février 2008

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...
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
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]$
;-))
Messages postés
5
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
29 février 2008

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
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
[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]$
;-))
Messages postés
5
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
29 février 2008

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


: (