Pomocí find na konkrétním souboru na $filepath :
if [ -n "$(find "$filepath" -prune -size +1000000c)" ]; then
printf '%s is strictly larger than 1 MB\n' "$filepath"
fi
Toto používá find pro dotaz na konkrétní soubor na $filepath pro jeho velikost. Pokud je velikost větší než 1 000 000 bajtů, find vypíše cestu k souboru, jinak nevygeneruje nic. -n test má hodnotu true, pokud má řetězec nenulovou délku, což v tomto případě znamená find vypsal něco, což zase znamená, že soubor je větší než 1 MB.
Na toto jste se neptali:Hledání všech běžných souborů, které jsou větší než 1 MB pod nějakým $dirpath a vytištění krátké zprávy pro každé:
find "$dirpath" -type f -size +1000000c \
-exec printf '%s is larger than 1 MB\n' {} +
Tyto části kódu by měly být přenositelné na jakýkoli Unix.
Všimněte si také, že pomocí < nebo > v testu otestuje, zda dva zúčastněné řetězce třídí určitým způsobem lexikograficky. Tyto operátory neprovádějí číselná srovnání. K tomu použijte -lt ("menší než"), -le ("menší nebo rovno"), -gt ("větší než") nebo -ge ("větší než nebo rovno"), -eq ("rovná se") nebo -ne ("nerovná se"). Tyto operátory provádějí porovnávání celých čísel.