The content of this article or any related information is under the Creative Commons license BY, you can republish this content freely but you must mention the author of this article: Kernel and indicate the URL of this page: https://www.exabyteinformatica.com/tienda/foro/como-borrar-archivos-segun-su-tamano-t286.html
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:
Código: Seleccionar todo
-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:
Código: Seleccionar todo
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>.
Código: Seleccionar todo
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: