Please enable / Por favor activa JavaScript!
Por favor activa el Javascript![ ? ]

Como borrar archivos segun su tamaño  Como borrar archivos segun su tamaño

Valoración de éste post
4.9 / 5 de 23 votos



Mensajes: 1236


Puntos totales:

Enhorabuena!

32





A veces, programando con shell scripting, tenemos toda una serie de archivos en un directorio los cuales pueden ser de 0 bytes o de el tamaño que sea y nos interesa borrar solo aquellos que cumplan un patrón.

Tomemos el siguiente ejemplo:

-rw-rw-r-- 1 exaforo exaforo   7883 sep 13 11:24 1000.jpg
-rw-rw-r-- 1 exaforo exaforo  26248 sep 13 11:24 1001.jpg
-rw-rw-r-- 1 exaforo exaforo  19285 sep 13 11:24 1002.jpg
-rw-rw-r-- 1 exaforo exaforo   7883 sep 13 11:24 1003.jpg
-rw-rw-r-- 1 exaforo exaforo  20631 sep 13 11:24 1004.jpg
-rw-rw-r-- 1 exaforo exaforo  20600 sep 13 11:24 1005.jpg
-rw-rw-r-- 1 exaforo exaforo   7883 sep 13 11:24 1006.jpg
-rw-rw-r-- 1 exaforo exaforo   7883 sep 13 11:24 1007.jpg
-rw-rw-r-- 1 exaforo exaforo   7883 sep 13 11:24 1008.jpg
-rw-rw-r-- 1 exaforo exaforo   7883 sep 13 11:24 1009.jpg
-rw-rw-r-- 1 exaforo exaforo  53295 sep 13 11:24 100.jpg
-rw-rw-r-- 1 exaforo exaforo  17360 sep 13 11:24 1010.jpg
-rw-rw-r-- 1 exaforo exaforo   7883 sep 13 11:24 1011.jpg
-rw-rw-r-- 1 exaforo exaforo  11047 sep 13 11:24 1012.jpg
-rw-rw-r-- 1 exaforo exaforo  26611 sep 13 11:24 1013.jpg
-rw-rw-r-- 1 exaforo exaforo 155510 sep 13 11:24 1014.jpg
-rw-rw-r-- 1 exaforo exaforo   7883 sep 13 11:24 1015.jpg
-rw-rw-r-- 1 exaforo exaforo  13408 sep 13 11:24 1016.jpg
-rw-rw-r-- 1 exaforo exaforo  21258 sep 13 11:24 1017.jpg
-rw-rw-r-- 1 exaforo exaforo  22631 sep 13 11:24 1018.jpg
-rw-rw-r-- 1 exaforo exaforo   7883 sep 13 11:24 1019.jpg


En este listado, vemos que hay varios archivos con 7883 bytes de tamaño, para borrar solo estos archivos de 7883 bytes podemos usar la siguiente instrucción:

Uso: find [-H] [-L] [-P] [-Onivel] [-D help|tree|search|stat|rates|opt|exec] [ruta...] [expresión]

la ruta de acceso predeterminada es el directorio actual; la expresión predeterminada es -print
la expresión puede ser: operadores, opciones, pruebas y acciones:

operadores (prioridad decreciente; se supone -and si no hay otros):
      ( EXPR ) ! EXPR -not EXPR EXPR1 -a EXPR2 EXPR1 -and EXPR2
      EXPR1 -o EXPR2 EXPR1 -or EXPR2 EXPR1 , EXPR2

opciones posicionales (siempre verdaderas): -daystart -follow -regextype

opciones normales (siempre verdaderas, especificadas antes de otras expresiones):
      -depth --help -maxdepth NIVELES -mindepth NIVELES -mount -noleaf
      --version -xdev -ignore_readdir_race -noignore_readdir_race

prueba (N puede ser +N or -N o N): -amin N -anewer ARCHIVO -ctime N -empty -false
      -cnewer ARCHIVO -ctime N -empty -false -fstype TIPO -gid N -group NOMBRE
      -ilname PATRÓN -iname PATRÓN -inum N -iwholename PATRÓN -iregex PATRÓN
      -links N -lname PATRÓN -mmin N -mtime N -name PATRÓN -newer ARCHIVO
      -nouser -nogroup -path PATRÓN -perm [+-]MODO -regex PATRÓN
      -readable -writable -executable
      -wholename PATRÓN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
      -used N -user NOMBRE -xtype [bcdpfls]

acciones: -delete -print0 -printf FORMATO -fprintf ARCHIVO FORMATO -print
      -fprint0 ARCHIVO -fprint ARCHIVO -ls -fls ARCHIVO -prune -quit
      -exec ORDEN ; -exec ORDEN {} + -ok ORDEN ;
      -execdir ORDEN ; -execdir ORDEN {} + -okdir ORDEN ;

Informe sobre errores (y siga el progreso de su corrección) a través de la
página de comunicación de errores en http://savannah.gnu.org/ o bien, si no
tiene acceso a web, enviando un mensaje a <bug-findutils@gnu.org>.


find -name '*' -size 7883 -delete


El asterisco corresponde al nombre de archivo (*=en este caso seleccionamos todos los archivos que cumplan que su tamaño sea de 7883 bytes y después los borre).

De esta manera podremos filtrar y eliminar según nuestro criterio aquellos archivos cuando estemos con las programaciones de shell scripting.



Salta al siguiente tema: Html2text: Convertir archivos HTML a TEXTO

Quizás también te interese:
Si has encontrado información útil en Exaforo, ayúdanos a seguir creciendo. Muchas gracias por confiar en nosotros!


Volver a Shell scripting