Advertisement
d1cor

count_filetypes_example.sh

Sep 7th, 2018
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.08 KB | None | 0 0
  1. # Author: Wilmer Alberto
  2. # Udemy Course Instructor: Diego Cordoba - @d1cor # https://juncotic.com # @juncotic
  3. # https://www.udemy.com/user/diegocordobad1cor/
  4. #--------------------------------------------------------
  5.  
  6. # Solucion original
  7.  
  8. clear
  9. archivos=(`file *| awk '{print $2}' | sort`)
  10. cantidad=${#archivos[*]};
  11. conteo=1;
  12. for (( i=1; i<$cantidad; i++ ))
  13. do
  14.   if [ ${archivos[$i]} = ${archivos[$i-1]} ]; then
  15.     let "conteo= $conteo+1"
  16.   else
  17.     echo "--->"${archivos[$i-1]}"--> $conteo"
  18.     conteo=1
  19.   fi  
  20. done
  21. echo terminado;
  22.  
  23. ### Alternativa en la Shell (mejora el filtro de archivos):
  24.  
  25. echo -e "CANT\t TIPO"
  26. find . -exec sh -c "file {} | cut -d':' -f2" \;|sort|uniq -c
  27.  
  28. # Esta solucion mejora el filtro de archivos, ya que si por ejemplo
  29. # tienes archivos que tienen espacios en sus nombres, el "print $2"
  30. # del awk va a capturar la parte del nombre del archivo que esta
  31. # despues del espacio, y no el tipo de archivo.
  32. # Por otro lado, si el tipo de archivo tiene espacios, la version
  33. # original no va a mostrar el tipo completo, solamente la primer
  34. # palabra.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement