Una recomendación: no separes el tamaño del archivo con punto, mejor con coma, y luego usas split() para separar el nombre de la extensión. split() te mete los pedazos de la cadena que separaste en un array y te dice la cantidad de elementos que fueron a parar a ese array. Es una idea
Saludos Mauricio On Wed, May 20, 2015 at 10:21 AM Mauricio López <mlope...@gmail.com> wrote: > El primer fallo que veo es que estás haciendo el ciclo for cada vez que > pasas por un record. > AWK tiene una estructura de programa así (a grosso modo) > > BEGIN {código que se ejecuta una vez al principio} > {código que se ejecuta para cada record} > END {código que se ejecuta luego de analizar todos los records} > > Por tanto debes recorrer el array en END. > > Saludos > Mauricio > > On Sat, May 16, 2015 at 8:54 PM Hugo Florentino <h...@acdam.cu> wrote: > >> 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 > > -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que est� limpio. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://listas.jovenclub.cu/pipermail/gutl-l/attachments/20150520/9bc49b26/attachment.html>
______________________________________________________________________ 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