La commande Find (unix)

La commande Find (unix) - Programmation

Marsh Posté le 27-06-2002 à 17:10:52    

Je voulais savoir si on pouvait faire une recherche en se limitant au répertoire courant sans aller dans les sous répertoire...
 
parce que find permet de lister facilement uniquement les répertoires, et avec ls ou ll je n'ai pas trouvé.
 
THX


---------------
Just drink it!
Reply

Marsh Posté le 27-06-2002 à 17:10:52   

Reply

Marsh Posté le 27-06-2002 à 17:13:19    

Réponse con: t'as fait un man find avant?


---------------
Le Tyran
Reply

Marsh Posté le 27-06-2002 à 17:13:28    

Hummm au risque de paraître désagréable, et comme je ne me souviens plus de la commande exacte, je te dirai de bien regarder la syntaxe de la commande, que tu dois obtenir en tapant juste find sur le prompt ;)
 
Sinon, tu peux toujours employer une technique du style :
 
ls | grep 'nom_recherché'


Message édité par Fred999 le 27-06-2002 à 17:13:46
Reply

Marsh Posté le 27-06-2002 à 17:17:02    

si tu veux juste les directory:
 
for $i in `ls` do; if[[-d $i]] then; echo $i;fi;od;
 
Ou un truc du genre


---------------
Le Tyran
Reply

Marsh Posté le 27-06-2002 à 17:19:28    

letoII a écrit a écrit :

Ou un truc du genre




 
Phrase de base quand on parle de shell :sol:

Reply

Marsh Posté le 27-06-2002 à 17:29:42    

Oui j'ai fait un man, ça n'est pas très
la commande ls -d ne passe pas, ça me retoure

Code :
  1. ./

. Sans doute un problème de droits.


---------------
Just drink it!
Reply

Marsh Posté le 27-06-2002 à 17:32:12    

kan t'as un pb de droit, tu a un message d'erreur des plus explicites


---------------
Hyndex - Meuaarf !! ReZo !!!
Reply

Marsh Posté le 27-06-2002 à 17:33:38    

Man find!
 
OPTIONS
      .....
 
       -maxdepth levels
              Descend  at most levels (a non-negative integer) levels of directories below the command line arguments.  `-maxdepth 0' means only apply the tests and actions to the command
              line arguments.
 
       -mindepth levels
              Do not apply any tests or actions at levels less than levels (a non-negative integer).  `-mindepth 1' means process all files except the command line arguments.
 
 
donc find . -maxdepth 1 ..... marche.

Reply

Marsh Posté le 27-06-2002 à 17:39:48    

ca depend de la version du find ke tu utilise


---------------
Hyndex - Meuaarf !! ReZo !!!
Reply

Marsh Posté le 27-06-2002 à 17:43:57    

thx:)
 
J'ai trouvé finalement aussi en utilisant ls & grep :
 

Code :
  1. ls -ld * | "^d"


---------------
Just drink it!
Reply

Marsh Posté le 27-06-2002 à 17:43:57   

Reply

Marsh Posté le 27-06-2002 à 18:36:26    

moi aussi je me suis rappelé:

Code :
  1. find . -type d


 
il me semble


---------------
Le Tyran
Reply

Marsh Posté le 27-06-2002 à 20:42:28    

A noter que ls -ld * | grep ^d peut aussi se faire avec ls -l | grep ^d.
 
Les gens ont un mal fou à comprendre ce que fait "*"... Il faut savoir que l'étoile est interprétée par le shell ; dans ls *, ls ne voit jamais d'argument "*", mais plein d'arguments qui sont les noms des fichiers du répertoire courant.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed