|
fr.comp.os.linux.debats Affichage de l'article : Re: Question (de débutant)_sur_une_comm
Date :
Le 01 avril 2008
From :
YBM
Sujet :
Re: Question (de débutant)_sur_une_comm
Francois a écrit :
> xxx$ find . -type f -name notes*
> ./Releve_BacS/notes/notes.ods
> ./Releve_BacS/notes/notes.tex
> ./Releve_BacS/notes/notes.csv
> xxx$ cd Releve_BacS/
> xxx/Releve_BacS$ find . -type f -name notes*
> xxx/Releve_BacS$ [pas de fichiers trouvés]
normal : c'est le shell qui interprète notes* et, comme il y a
un répertoire dont le nom commence par notes dans le répertoire
courants, la commande exécutée est :
find . -type f -name notes
(facile à voir : mets un echo devant)
pour ne pas avoir ce problème il faut TOUJOURS protéger
les arguments de find contenant des jokers :
find . -type f -name 'notes*'
c'est une différence importante entre les shells unix et les shells
dos/windows : sous UNIX ce sont les shells qui interprètent les jokers
et transmettent des chemins d'accès à des fichiers correspondants,
la commande ne sait pas que tu as utilisé un joker ou donné
explicitement une liste de chemins. Sous DOS/Windows c'est la commande
qui traite (ou non ...) les jokers.
une manière de le voir est de faire 'echo *' (ou l'équivalent) sur les
deux systèmes :
c:\whatever> echo *.*
*.*
$ echo *
bidule.txt machin.c README
Le principal avantage est que toute commande qui est en mesure
d'accepter une suite de chemins est automatiquement exploitable
avec des jokers, et que cette interprétation des jokers étant
faite en un endroit unique, elle donne toujours le même résultat.
Le seul inconvénient sont qu'il faut faire gaffe avec des
commandes dont les arguments peuvent contenir des jokers à
interpréter par la commande elle-même.
Posez vos questions, réponses et remarques sur
les forums de FrameIP
|