|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() Inscription : novembre 2005 Messages : 203 ![]() |
Bonjour,
Je cherche à faire une action sur tous les fichiers du répertoire "monRep". Le seul problème et que le nom des fichiers de ce répertoire peuvent contenir un ou plusieurs caractères espace. Exemple: Code :
Code :
Comment faire ? Merci. |
||||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : septembre 2004 Messages : 2 180 ![]() |
Il faut jouer sur le séparateur de champs/d'instructions IFS
Code :
__________________
|
||
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : novembre 2005 Messages : 203 ![]() |
Maintenant ça marche bien pour ces fichiers "Copie de toto"
Mais ça ne marche plus pour les autres En fait, ça me bouffe certains caracères !? |
|
|
00
|
|
|
#4 | |||||
|
Membre Expert
![]() Inscription : septembre 2004 Messages : 2 180 ![]() |
Citation:
Habituellement, cela ne pose aucun problème : Code :
Code :
__________________
|
|||||
|
|
00
|
|
|
#5 | ||||||
|
Membre du Club
![]() Inscription : novembre 2005 Messages : 203 ![]() |
Je pense que cela doit venir de mon système de m...e : AIX !!!
Moi j'ai ça : Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() Inscription : septembre 2004 Messages : 2 180 ![]() |
Citation:
Effectivement, je vois le problème. Il vient de l'affectation dans IFS. AIX interprète le \t et le \n et met alors t et n dans la liste des séparateurs, virant du même coup l'espace (c'est ce qu'on veut), mais aussi la tabulation et le retour à la ligne. Du coup, tous les t et n sont considérés comme des séparateurs, donc bouffés. La syntaxe que j'ai utilisé (IFS=$'\t\n') est une syntaxe BASH. Il doit exister un équivalent sous AIX qui permette d'insérer ces deux caractères de contrôle dans la variable d'environnement. Bon courage.
__________________
|
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : novembre 2005 Messages : 203 ![]() |
Malheureusement, je ne trouve pas !!!
Est-ce que quelqu'un dans le forum connait la syntaxe ???????? |
|
|
00
|
|
|
#8 | ||
|
Membre à l'essai
![]() Inscription : août 2005 Messages : 82 ![]() |
salut,
je débute en shell mais je suis sous AIX et KSH également. j'ai eu le meme soucis que toi, je l'ai contourné comme j'ai pu avec la commande PASTE Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Membre du Club
![]() Inscription : novembre 2005 Messages : 203 ![]() |
Merci.
Ca marche ! Dans mon cas cela donne ça : Code :
|
||
|
|
00
|
|
|
#10 | ||
|
Membre du Club
![]() Inscription : novembre 2005 Messages : 203 ![]() |
Encore mieux !!!
Code :
|
||
|
|
00
|
|
|
#11 | ||
|
Membre à l'essai
![]() Inscription : août 2005 Messages : 82 ![]() |
ah oui ça marche aussi, mais ça garde le chemin des fichiers
faut faire un BASENAME qq part tjs plus simple Code :
des fichiers |
||
|
|
00
|
|
|
#12 | |
|
Membre à l'essai
![]() Inscription : août 2005 Messages : 82 ![]() |
attention à la commande FIND, celle ci scanne automatiquement
le répertoire mais aussi les sous-repertoires........... pour stopper la descente aux enfers il faut utiliser l'option -prune Citation:
|
|
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Inscription : novembre 2005 Messages : 203 ![]() |
Je pense que j'ai la réponse à mon problème.
Merci. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com