C'è un modo per evitare di trovare da scavare verso ricorsivamente nelle sottodirectory?

StackOverflow https://stackoverflow.com/questions/27077

  •  09-06-2019
  •  | 
  •  

Domanda

Quando faccio:

$ find / 

Ricerca tutto il sistema.
Come posso evitare questo?

(Questa domanda viene da un "risposta"un'altra questione.)

È stato utile?

Soluzione

G ' day,

Volevo solo ampliare il suggerimento di Jon utilizzare -prune.Non è il modo più semplice di trovare le opzioni per l'utilizzo, ad esempio per la ricerca nella directory corrente il comando trova, assomiglia a questo:

find . \( -type d ! -name . -prune \) -o \( <the bit you want to look for> \)

questo fermerà trovare la discesa in sotto-cartelle all'interno di questa directory.

In sostanza, si dice, "potare tutto ciò che è una directory, il cui nome non è ".", cioèla dir corrente."

Il comando trova evals da sinistra a destra, per ogni elemento trovato, nella directory corrente, così dopo il completamento del primo elemento, cioèla prugna segmento, e continua con l'articolo abbinato nella seconda -O (d) espressione.

HTH.

ciao Rob

Altri suggerimenti

Prendere in considerazione:

-maxdepth n
             True if the depth of the current file into the tree is less than
             or equal to n.

-mindepth n
             True if the depth of the current file into the tree is greater
             than or equal to n.

Si potrebbe essere meglio utilizzando i caratteri jolly.Per esempio, se si desidera trovare tutte ksh script nella directory corrente:

$ ls *.ksh

Utilizzare il -prune l'opzione.

Si può anche fare

echo /specific/dir/*.jpg

come è la shell che si espande il jolly.Digitando

ls *.jpg

è equivalente a scrivere

ls foo.jpg bar.jpg

dato foo.jpg e bar.jpg sono tutti i file che terminano con ".jpg", nella directory corrente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top