GNU/Linux >> Belajar Linux >  >> Linux

Cara mendapatkan semua file yang melebihi ukuran tertentu dan menghapusnya

Mirip dengan jawaban exec rm, tetapi tidak memerlukan proses untuk setiap file yang ditemukan:

find . -size +100k -delete

Satu kalimat:

find . -size +100k -exec rm {} \;

Bagian pertama (find . -size +100k ) mencari semua file mulai dari direktori saat ini (. ) melebihi (+ ) 100 kByte (100k ).

Bagian kedua (-exec rm {} \; ) memanggil perintah yang diberikan pada setiap file yang ditemukan. {} adalah placeholder untuk nama file saat ini, termasuk path. \; hanya menandai akhir dari perintah.

Ingatlah untuk selalu memeriksa apakah kriteria pemfilteran Anda sudah tepat dengan menjalankan find mentah :

find . -size +100k

Atau, Anda bahkan dapat membuat salinan cadangan sebelum menghapus:

find . -size +100k -exec cp --parents {} ~/backup \;

python diinstal pada semua OS berbasis unix, jadi mengapa tidak menggunakannya sebagai ganti bash ?

Saya selalu menemukan python lebih mudah dibaca daripada awk dan sed sihir.

Ini adalah kode python yang akan saya tulis:

import os
Kb = 1024 # Kilo byte is 1024 bytes
Mb = Kb*Kb
Gb = Kb*Kb*Kb
for f in os.listdir("."):
    if os.stat(f).st_size>100*Kb:
        os.remove(f)

Dan ini adalah versi one-liner dengan python -c

python -c "import os; [os.remove(f) for f  in os.listdir('.') if os.stat(f).st_size>100*1024]"

Dan jika Anda ingin menerapkan pencarian secara rekursif, lihat ini


Linux
  1. Cara Membuat File Dengan Ukuran Tertentu Di Linux

  2. Bagaimana Cara Mencari File Berdasarkan Ukuran Dan Ekstensi?

  3. Bagaimana Menemukan Semua File Yang Berhubungan Dengan Perangkat Lunak?

  1. Bagaimana menemukan semua file yang lebih besar dari ukuran 1GB di Linux?

  2. Bagaimana cara menemukan ukuran tumpukan maksimum?

  3. Bagaimana saya bisa melihat ukuran file dan direktori di linux?

  1. Bagaimana cara membuat daftar file secara rekursif dan mengurutkannya berdasarkan waktu modifikasi?

  2. gzip semua file tanpa menghapusnya

  3. Dapatkan Ukuran Semua Folder di Direktori