GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire il comando "trova" solo sulla directory corrente e non sulle sottodirectory

Domanda :Come eseguire comandi di ricerca sulla directory corrente, senza entrare nelle sottodirectory.

Scenario di esempio:
– Rimuove SOLO tutti i file nella directory corrente che risalgono a una settimana.

La soluzione

1. Aggiungi le seguenti operazioni ai comandi di ricerca desiderati:

! \( -type d ! -name {DIRECTORY NAME} -prune \)

2. Sostituendo la directory da cercare con {DIRECTORY NAME}

Esempio di soluzione:

# find . ! \( -type d ! -name . -prune \) -mtime 7 -exec rm {} \;

Il comando precedente cercherà solo nella directory corrente (.) e non nelle sottodirectory sottostanti e rimuoverà i file che sono più vecchi di 1 settimana.


Linux
  1. Come eseguire servizi DNS e FTP in una prigione chroot

  2. Shell - Come trovare la directory di alcuni comandi?

  3. Come posso eseguire dos2unix su un'intera directory?

  4. Come posso ottenere che la schermata GNU non si avvii nella mia home directory in OS X?

  5. Come cercare solo la directory corrente in Nautilus (ripristina il vecchio comportamento)

Come trovare il numero di file in una directory e sottodirectory

Come rimuovere directory e file utilizzando Linux

Come scoprire se un pacchetto è installato o meno in Linux e Unix

Come escludere una directory durante la ricerca di file in Linux

Come trovare e sostituire il testo in Vim

Come ottenere solo l'utente, il pid e il comando eseguito per un processo specifico? (Ubuntu 11.10)