Muchas gracias por responder ^Tifa^!!
Cierto es que no he explicado todo el problema. Te comento brevemente el script:
Lo que pretende es que pasado un directorio muestre cuantos archivos tiene ese directorio con el tamaño real, fisico, ... si tiene subdirectorios que entre en ellos y haga lo propio y finalmente me va a quedar una serie de filas con el la ruta del directorio/subdirectorio y la información antes mencionada y, además, la suma de todas ellas. Algo asi:
Path T-Real T-Fisico N-Archivos
/home/Flakito81/directorio 1200 4096 13
/home/Flakito81/directorio/a 23 4096 1
/home/Flakito81/directorio/a/b 0 0 0
/home/Flakito81/directorio/otro 560 4096 3
Total 1783 12288 17
Obviamente como se puede intuir es una funcion recursiva.
El tema de
ls -sh fichero lo contenplé pero no me sirve xq las cantidades están en diferentes unidades. Lo que si me interesa y quizas lo haga es hacer ese cambio de unidades para que sea más entendible, pero por ahora solo sabría hacerlo en la suma final .
Por ello opté por lo siguiente: (espero optimizarlo más, pero mi mente piensa en C
)
BLOCK=$(stat -c "%B" $0);
for f in `stat -c "%b" * | grep -v ^d |awk '{print $1}'`; do
fsize=$((fsize+(f*BLOCK)))
done
Un abrazo!!!
PD: Disculpa como se muestra lo que debería ser la salida del script pero cuando he posteado lo alineé todo.
PD: Quizas esta semana muestre el código, junto con otro que tmb dije que subiría