GNU/Linux >> Tutoriales Linux >  >> Linux

Compruebe si el tamaño del archivo es superior a 1 MB utilizando la condición IF

Usando find en un archivo específico en $filepath :

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

Esto usa find para consultar el archivo específico en $filepath por su tamaño. Si el tamaño es superior a 1000000 bytes, find imprimirá la ruta del archivo, de lo contrario no generará nada. Los -n test es verdadero si la cadena tiene una longitud distinta de cero, lo que en este caso significa que find generó algo, lo que a su vez significa que el archivo tiene más de 1 MB.

No preguntaste sobre esto:Encontrar todos los archivos regulares que tienen más de 1 MB bajo algún $dirpath e imprimiendo un mensaje corto para cada uno:

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

Estas piezas de código deberían ser portátiles para cualquier Unix.

Tenga en cuenta también que usar < o > en una prueba probará si las dos cadenas involucradas se ordenan de una manera particular lexicográficamente. Estos operadores no hacen comparaciones numéricas. Para eso, usa -lt ("menor que"), -le ("menor o igual que"), -gt ("mayor que"), o -ge ("mayor o igual que"), -eq ("igual a"), o -ne ("no igual a"). Estos operadores hacen comparaciones de enteros.


Linux
  1. Cómo encontrar el archivo más antiguo en un árbol de directorios en Linux

  2. Encuentra la URL de un archivo

  3. Copiar un archivo solo cuando es más nuevo que el destino

  4. ¿Cómo encontrar el administrador de archivos predeterminado?

  5. ¿Cómo obtener el tamaño físico de un archivo en Linux?

Uso del archivo de configuración SSH

Cómo encontrar archivos usando la línea de comandos en la terminal de Linux

Cómo encontrar el tamaño total de un directorio en Linux

¿Cómo encuentro la ubicación MySQL my.cnf?

¿Cuál es el comando más confiable para encontrar el tamaño real de un archivo de Linux?

cómo usar du para ver archivos mayores que un tamaño de umbral