2015-03-06 8:27 GMT-06:00 Maykel Franco <maykeldeb...@gmail.com>: > Buenas, he recuperado un montón de archivos de un disco duro que había > sido formateado e instalado un SO. He usado photorec, y como te va > creado directorios y va metiendo todos los archivos, me gustaría tirar > de un comando para que me busque solo las fotos, pero no solo .jpg, > .jpeg, .png, ... Yo no sé el formato de todas las fotos, con lo cual > me gustaría que el find detectara si es un archivo de tipo imagen, > actualmente estoy usando este comando: > > find DIRECTORIO-A-BUSCAR -name '*.jpg' -exec rsync -a --progress {} > DIRECTORIO-RECUPERACIÓN \; > > Sencillo en dos pasos 1) Analizar todos los archivos 2) Analizar cuales son de formato imagen sin importar su extensión:
$ find . -type f > /tmp/found.txt $ while read item;do ifimg=$(file "$item" | grep image | wc -l); if let "ifimg>0";then echo $item;fi; done < /tmp/found.txt Si quieres diferenciarlos por carpetas entonces debes de hacer un paso adicional y el segundo comando se convertiria un poco más largo: $ while read item;do ifimg=$(file "$item" | grep image | wc -l); if let "ifimg>0";then extension=$(file "$item" | awk -F":\ " '{print $2}'| awk '{print $1}'); mkdir -p /path/to/recover/$extension; mv "$item" /path/to/recover/$extension/"$item";fi; done < /tmp/found.txt En lugar de solo hacer un <<echo $item >> ahi puedes hacer el <<mv $item /path/to/recover>> > No sé si podría usar este: > > find . -name '*' -exec file {} \; | grep -o -P '^.+: \w+ image' > > Y anidarlo a xargs > > Saludos. > > > -- > To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact > listmas...@lists.debian.org > Archive: > https://lists.debian.org/caj2aoa9styjj2owe3y_b_m-kbkhufbadh1unsmliv3b54y...@mail.gmail.com > > -- ================