Hola colegas,

Hace poco preguntaba como obtener un listado de los tamaños de archivo en un directorio dado agrupados por tipo.

Finalmente me decidí a hacer mi propio script para eso, y ya lo tengo casi listo, pero se me están repitiendo resultados y no estoy suficientemente familiarizado con awk como para saber como corregir el problema, de modo que pongo a continuación el script para que le echen un vistazo a ver si pueden darme una ayuda.

#! /bin/sh

if [ $# -eq 0 ]; then
  TARGETDIR=$(pwd)
elif [ $# -eq 1 ] && [ -d "$1" ]; then
  TARGETDIR="${1}"
else
echo "El argumento debe ser un directorio (de no especificarse, se utiliza el actual)."
  exit -1
fi

find "${TARGETDIR}" -type f -printf "%s.%f\n" | \
 awk -F "." '{if (NF>2) ext=$NF; else ext="otros";
 tipo[ext]++; peso[ext]+=$1;
 for (i in tipo) printf("%s (%0.0f)\t%10.0f\n",
 i, tipo[i], peso[i])}' | \
 sort -k2 -nr | tr '\t' ';' | column -ts ';'

unset TARGETDIR

exit


--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que est� limpio.

______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a