Script en bash para saber el tamaño real de los archivos de un directorio.


Seguramente habrá otra manera más sencilla de hacerlo. Si lo hay lo desconozco. Después de mucho tiempo de buscar he conseguido escribir este pequeño script que a mi me ayuda y quiero compartirlo con la gente de Bulma. Espero que también os sea útil.

#!/bin/bash

# ————————————————————————————————
# Script creado por: Fco. Javier M. C. <[email protected]> bajo licencia GPL 3 ó posterior.
#
# Devuelve, el bytes, el tamaño total de todos los archivos de la ruta especificada y de
# sus subdirectorios.
#
# El espacio real ocupado por cada archivo y directorio varía en función del sistema de archivos.
# En GNU/Linux existe el comando ‘du’ para este propósito.
# ————————————————————————————————

declare -i t_archivo_total=0
declare -i t_archivo=0
declare -i contador_archivos=0

# Revisa que se haya pasado una ruta correcta como parámetro.
if [ $# -ne 1 ]; then
echo “Tiene que especificar una ruta como parametro.”
exit
fi

if [ -d “$1” ]; then
# Cambiamos a la ruta especificada.
cd “$1”
else
echo “La ruta especificada no es valida.”
exit
fi

# Localiza todos los archivos y aumenta el contador con el tamaño individual de cada archivo.
for t_archivo in `ls -lR | grep -v ^d | awk ‘{print $5}’`; do

t_archivo_total=$((t_archivo_total + t_archivo))
contador_archivos=$((++contador_archivos))

done

if test $contador_archivos -eq 0; then
echo “No hay archivos en la ruta especificada.”
elif test $contador_archivos -eq 1; then
echo $t_archivo_total “bytes en” $contador_archivos “archivo.”
else
echo $t_archivo_total “bytes en” $contador_archivos “archivos.”
fi

# ————————————————————————————————























Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=2481 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.