GNU/Linux >> Belajar Linux >  >> Linux

Periksa apakah ukuran file lebih besar dari 1MB menggunakan kondisi IF

Menggunakan find pada file tertentu di $filepath :

if [ -n "$(find "$filepath" -prune -size +1000000c)" ]; then
    printf '%s is strictly larger than 1 MB\n' "$filepath"
fi

Ini menggunakan find untuk menanyakan file tertentu di $filepath untuk ukurannya. Jika ukurannya lebih besar dari 1000000 byte, find akan mencetak nama jalur file, jika tidak maka tidak akan menghasilkan apa-apa. -n test benar jika string memiliki panjang bukan nol, yang dalam hal ini berarti find menghasilkan sesuatu, yang pada gilirannya berarti file tersebut lebih besar dari 1 MB.

Anda tidak bertanya tentang ini:Menemukan semua file biasa yang lebih besar dari 1 MB di bawah beberapa $dirpath dan mencetak pesan singkat untuk masing-masing:

find "$dirpath" -type f -size +1000000c \
    -exec printf '%s is larger than 1 MB\n' {} +

Potongan kode ini harus portabel untuk Unix apa pun.

Perhatikan juga bahwa menggunakan < atau > dalam tes akan menguji apakah dua string yang terlibat mengurutkan dengan cara tertentu secara leksikografis. Operator ini tidak melakukan perbandingan numerik. Untuk itu, gunakan -lt ("kurang dari"), -le ("kurang dari atau sama dengan"), -gt ("lebih besar dari"), atau -ge ("lebih besar dari atau sama dengan"), -eq ("sama dengan"), atau -ne ("tidak sama dengan"). Operator ini melakukan perbandingan bilangan bulat.


Linux
  1. Linux menghapus file dengan ukuran 0

  2. Cara mendapatkan ukuran file tar.gz dalam (MB) dengan python

  3. Bagaimana cara menemukan ukuran tumpukan maksimum?

  1. Periksa status file di Linux dengan perintah stat

  2. Menyalin file hanya jika lebih baru dari tujuan

  3. Bagaimana menemukan pengelola file default?

  1. Cara Menemukan File Terlama Di Pohon Direktori Di Linux

  2. Temukan URL File

  3. temukan dan salin file menggunakan Bash