GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara membuat find mengecualikan folder yang dicarinya?

Cara termudah adalah dengan menambahkan -mindepth 1 , yang akan melewati hierarki kedalaman pertama dan mengabaikan direktori induk Anda.

Selain itu, Anda tidak memerlukan -exec tambahan panggilan ke rm , Anda cukup delete folder secara langsung jika kosong.

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

Jika tidak kosong:

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

Jika Anda malas, Anda juga dapat memperluas wildcard. Sejak * tidak menyertakan direktori saat ini secara default (kecuali dotglob diatur), Anda juga dapat melakukan:

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

Namun, ini juga tidak termasuk folder tersembunyi, sekali lagi karena dotglob opsi.


Masalahnya adalah find mengembalikan direktori saat ini (.) bersama dengan direktori lain, sehingga menghapus folder pemrosesan serta subdirektori. Cara cepat untuk menyiasatinya adalah dengan menambahkan opsi

-not -name .

yang menghentikan find dari mengeluarkan direktori saat ini, dan pada gilirannya menghentikannya agar tidak dihapus.

Itu akan berhasil jika Anda menjalankan perintah di dalam direktori pemrosesan, jadi untuk memungkinkan fakta bahwa Anda menggunakan jalur absolut:

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

Dan seluruh perintahnya adalah:

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

Linux
  1. Cara membuka dan menutup direktori di terminal Linux

  2. cara menemukan pemilik file atau direktori dengan python

  3. Cara mem-pipe hasil 'find' ke mv di Linux

  1. Kecualikan Direktori Di Temukan?

  2. Bagaimana Cara Menginstal R 3.3.1 Di Direktori Sendiri?

  3. Temukan Kecualikan Direktori?

  1. Bagaimana Membuat Direktori Bersama Dapat Diakses Oleh Sftp?

  2. Cara mengecualikan direktori di find . memerintah

  3. Bagaimana cara menemukan ukuran tumpukan maksimum?