Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Cambiamos IFS para tragar con espacios al expandir variables dentro de un comando
- OLDIFS=$IFS
- IFS=$'\n'
- # El check para que quede bonito :D
- CHECK_MARK="\033[0;32m\xE2\x9C\x94\033[0m"
- # Vaciar archivo de posibles anteriores ejecuciones
- echo '' > imagenes_corruptas.txt
- # Recorrer recursivamente todos los archivos de este directorio, conservando su path
- for FILE in `ls -R ./ 2> /dev/null | awk '
- /:$/&&f{s=$0;f=0}
- /:$/&&!f{sub(/:$/,"");s=$0;f=1;next}
- NF&&f{ print s"/"$0 }' | grep -i jpg`; do
- # Limpiar espacios
- FILE=`echo $FILE | sed "s/\"//g"`
- echo -ne "\\r Comprobando $FILE..."
- # identify trata de abir el archivo, si da "corrupt" o "error" o "not a JPG", extraigo la parte del nombre de archivo y lo añado al listado
- identify -verbose "$FILE" 2>&1 | grep -iE "corrupt|error|not a JPG" | cut -d "\`" -f 2 | cut -d "'" -f 1 >> imagenes_corruptas.txt
- done
- echo -e
- echo -e ${CHECK_MARK} Terminado
- # Vuelvo a dejar el IFS original, para no fastidiar la consola actual
- IFS=$OLDIFS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement