BandaAncha

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

Combinar DU con FIND

BocaDePez

Hola, estaba intentando saber lo que ocupan determinados archivos en todo un arbol de directorios pero no encuentro la forma de combinar ambos comandos:

DU me ofrece lo que ocupa TODO el arbol.
FIND me filtra los archivos que quiero pero no me dice el tamaño que ocupan.

¿Cómo se puede hacer?

Con MSDOS lo hago con un DIR /S, y con windows con el Buscador y luego seleccionando los archivos con un CONTROL+E.

vukits

guguel

se usa awk, un lenguaje para procesar textos y columnas y cosas

trabajando con tamaños de ficheros nada más.. (si qieres saber cuanto ocupa una carpeta, es diferente)

p.e., aqui tengo 5 columnas en la salida .. la quinta es el tamaño del fichero o directorio.. luego sumo $5

$ls -la
total 104
drwxrwxrwt  6 root   root   12288 sep  9 23:40 .
drwxr-xr-x 21 root   root    4096 oct  4  2009 ..
-rw-------  1 vukits vukits 64785 sep  9 14:08 16mRPrii.torrent.part
drwxrwxrwt  2 root   root    4096 sep  9 02:15 .ICE-unix
drwx------  2 vukits vukits  4096 sep  9 23:06 orbit-vukits
drwx------  2 vukits vukits  4096 sep  9 23:28 plugtmp
srwxr-xr-x  1 root   root       0 sep  9 02:15 wpa_ctrl_2494-1
-r--r--r--  1 root   vukits    11 sep  9 02:15 .X0-lock
drwxrwxrwt  2 root   root    4096 sep  9 02:15 .X11-unix

script de ejemplo

ls -la| awk '{ x += $5 } END {print "Total file size is "x}'
Pridebowl

Mande?

En serio, no lo he cogido del todo.

Por si sirve de algo, yo no puedo vivir sin esto:

#alias | grep tam

alias tam='du -hs'

Un saludo!

🗨️ 1
vukits

con find, construye un árbol y necesita calcular la suma de los tamaños de los ficheros y carpetas de este árbol

pcmaster

Busca un comando que te devuelva los archivos que quieres y pásaselo a du

por ejemplo:

$ for arch in "*odt"; do du $arch; done

te muestra lo que ocupan todos los archivos con extensión odt

En este caso, haría lo mismoq ue un du *.odt, pero puedes usar algún comando más complejo, como el find que citas.