GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo obtener todos los archivos que excedan cierto tamaño y eliminarlos

Similar a la respuesta exec rm, pero no necesita un proceso para cada archivo encontrado:

find . -size +100k -delete

De una sola línea:

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

La primera parte (find . -size +100k ) busca todos los archivos a partir del directorio actual (. ) superior a (+ ) 100 kBytes (100k ).

La segunda parte (-exec rm {} \; ) invocó el comando dado en cada archivo encontrado. {} es un marcador de posición para el nombre del archivo actual, incluida la ruta. \; simplemente marca el final del comando.

Recuerde verificar siempre si sus criterios de filtrado son adecuados ejecutando find sin formato :

find . -size +100k

O incluso puede hacer una copia de seguridad antes de eliminar:

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

python está instalado en todos los sistemas operativos basados ​​en Unix, entonces, ¿por qué no usarlo en lugar de bash?

Siempre encuentro Python más legible que awk y sed magia.

Este es el código python que hubiera escrito:

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)

Y esta es la versión de una línea con python -c

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

Y si quieres aplicar la búsqueda recursivamente, mira esto


Linux
  1. ¿Cómo buscar archivos por tamaño y extensión?

  2. ¿Usar Buscar para encontrar cierto directorio y eliminar todos los archivos excepto un directorio?

  3. ¿Cómo encontrar todos los archivos de más de 1 GB de tamaño en Linux?

  4. Cómo encontrar todos los archivos dispersos en Linux

  5. ¿Cómo encuentro el tamaño máximo de pila?

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

Cómo encontrar recursivamente y enumerar los archivos por fecha en Linux

Cómo crear archivos de cierto tamaño en Linux

Cómo encontrar archivos duplicados en Linux y eliminarlos

¿Cómo puedo ver el tamaño de los archivos y directorios en Linux?

gzip todos los archivos sin borrarlos