Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2908 connectés 

 


Dernière réponse
Sujet : La commande Find (unix)
matafan 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.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
matafan 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.
LetoII moi aussi je me suis rappelé:

Code :
  1. find . -type d


 
il me semble

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

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

evode ca depend de la version du find ke tu utilise
gfive 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.
evode kan t'as un pb de droit, tu a un message d'erreur des plus explicites
fodger 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.

Fred999

letoII a écrit a écrit :

Ou un truc du genre




 
Phrase de base quand on parle de shell :sol:

LetoII si tu veux juste les directory:
 
for $i in `ls` do; if[[-d $i]] then; echo $i;fi;od;
 
Ou un truc du genre
Fred999 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é'
LetoII Réponse con: t'as fait un man find avant?
fodger 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

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)