GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso fare in modo che find escluda la cartella in cui cerca?

Il modo più semplice sarebbe semplicemente aggiungere -mindepth 1 , che salterà la prima gerarchia di profondità e quindi tralascerà la tua directory padre.

Inoltre, non hai bisogno di un ulteriore -exec chiama rm , puoi solo delete direttamente le cartelle se sono vuote.

find /var/www/html/content/processing -mindepth 1 -type d -mtime +1 -delete

Se non sono vuoti:

find /var/www/html/content/processing -mindepth 1 -type d -mtime +1 -exec rm -rf {} \;

Se sei pigro puoi anche espandere un carattere jolly. Da * non include la directory corrente per impostazione predefinita (a meno che dotglob è impostato), puoi anche fare:

find /var/www/html/content/processing/* -type d -mtime +1 -delete

Tuttavia, questo non includerebbe nemmeno le cartelle nascoste, sempre a causa del dotglob opzione.


Il problema è che find restituisce la directory corrente (.) insieme alle altre directory, quindi elimina la cartella di elaborazione e le sottodirectory. Un modo rapido per aggirare il problema sarebbe aggiungere l'opzione

-not -name .

che interrompe find dall'output della directory corrente e, a sua volta, impedisce che venga cancellato.

Funzionerebbe se eseguissi il comando all'interno della directory di elaborazione, quindi per tenere conto del fatto che stai utilizzando un percorso assoluto:

-not -name /var/www/html/content/processing

E l'intero comando sarebbe:

find /var/www/html/content/processing -type d -mtime +1 -not -name /var/www/html/content/processing -exec rm -rf {} \;

Linux
  1. Come aprire e chiudere le directory nel terminale Linux

  2. Come trovare il file più vecchio in un albero di directory in Linux

  3. Come escludere una directory in find . comando

  4. Come reindirizzare i risultati di "trova" a mv in Linux

  5. Come scollegare tutti i collegamenti simbolici sotto la directory?

Come contare i file nella directory in Linux

Come trovare la dimensione di una directory in Linux

Rimuovi directory in Linux - Come eliminare una cartella dalla riga di comando

Come escludere una directory durante la ricerca di file in Linux

Come trovare la dimensione totale di una directory in Linux

Il comando Trova Directory di Linux:spiegato