#1 Le 15/02/2013, à 01:20
- Flying-Fish
[Résolu] Déplacer jpg corrompus
Salut à toutes et à tous,
Grace à cette commande
find -iname "*.jpg" -print0 | xargs -0 jpeginfo -c | grep -e WARNING -e ERROR
(trouvée je ne sais où sur internet), j'obtiens une liste de fichiers jpg corrompus.
Or, j'aimerai que ces derniers soient déplacés dans un dossier "Erreurs". Est-ce possible et si oui, comment ?
Par avance merci.
Fish
Dernière modification par Flying-Fish (Le 07/02/2014, à 14:34)
Dell Latitude 5480
Mint Xfce
5.15.0-84-generic x86_64
Xfce 4.18.1
Hors ligne
#2 Le 15/02/2013, à 01:33
- Maisondouf
Re : [Résolu] Déplacer jpg corrompus
La liste est sous quelle forme ?
ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor, OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)
Hors ligne
#3 Le 15/02/2013, à 03:12
- Flying-Fish
Re : [Résolu] Déplacer jpg corrompus
ça me renvoi quelque chose comme (c'est un extrait) :
./DSCF4053.JPG Not a JPEG file: starts with 0x00 0x00 [ERROR]
./FIL11865.JPG 2136 x 2848 24bit Exif N 1474560 Corrupt JPEG data: premature end of data segment Unsupported marker type 0x03 [ERROR]
./FIL2284.JPG 2848 x 2136 24bit Exif N 1146880 Premature end of JPEG file [WARNING]
./2006-06-14 (7).JPG 2048 x 3072 24bit Exif N 1867776 Premature end of JPEG file [WARNING]
./FIL1598.JPG 2848 x 2136 24bit Exif N 1605632 Corrupt JPEG data: 229 extraneous bytes before marker 0x01 [WARNING]
Dell Latitude 5480
Mint Xfce
5.15.0-84-generic x86_64
Xfce 4.18.1
Hors ligne
#4 Le 15/02/2013, à 03:33
- Maisondouf
Re : [Résolu] Déplacer jpg corrompus
Est ce que ça peut renvoyer des chemins avec de répertoires ?
Du style:
./REP1/REP/FICHIER.JPG
ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor, OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)
Hors ligne
#5 Le 15/02/2013, à 05:41
- Hizoka
Re : [Résolu] Déplacer jpg corrompus
# Extention a rechercher, attention la casse est respectee...
ext="jpg"
# Dossier dans lequel deplacer les photos
dossier_exportation="/home/hizoka/test"
# Dossier ou dossier parent dans lequel lancer les recherches
dossier_recherche="/home/hizoka/Photos/"
# Verifie que le dossier d'exportation existe
[[ ! -d "${dossier_exportation}" ]] && mkdir -p "${dossier_exportation}"
# Boucle traitante les fichiers corrompus
while read fichier
do
# ex : ./DSCF4053.JPG Not a JPEG file: starts with 0x00 0x00 [ERROR]
# => ./DSCF4053
fichier="${fichier%%.${ext}*}"
# => DSCF4053 (si commence par ./)
fichier="${fichier/#.\/}"
echo "Deplacement du fichier ${fichier}.${ext} vers ${dossier_exportation}"
#mv "${fichier}.${ext}" "${dossier_exportation}"
done < <(find "${dossier_recherche}" -name "*.${ext}" -print0 | xargs -0 jpeginfo -c | egrep "WARNING|ERROR")
Si le retour te va decommente la ligne du mv.
Perso je viens de tester ca marche :
Deplacement du fichier /home/hizoka/Photos/2007/Anniv_vadim_11_08_07_068.jpg vers /home/hizoka/test
une proposition certainement simplifiable...
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#6 Le 15/02/2013, à 05:56
- nesthib
Re : [Résolu] Déplacer jpg corrompus
@Hizoka : effectivement, pourquoi faire simple quand on peut faire compliqué
SOURCE="/dossier/de/recherche"
DESTINATION="/dossier/de/déplacement"
while read file
do
if ( jpeginfo -c "${file}" | grep -q "WARNING\|ERROR" )
then
echo "error: ${file}"
mv -i "${file}" "$DESTINATION"
fi
done < <(find "$SOURCE" -iname '*.jpg')
edit : attention si SOURCE contient des sous dossiers et que des fichiers portant le même nom doivent être déplacés dans DESTINATION, il y aura un conflit de nom.
Dernière modification par nesthib (Le 15/02/2013, à 05:58)
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#7 Le 15/02/2013, à 07:36
- Hizoka
Re : [Résolu] Déplacer jpg corrompus
en effet
j'avais pensé partir sur une boucle comme ca mais je me suis dit que ca serait moins rapide que de boucler uniquement sur les fichiers posant probleme, mais au final c'est plus simple...
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#8 Le 15/02/2013, à 13:17
- Flying-Fish
Re : [Résolu] Déplacer jpg corrompus
Salut à tous et merci pour l'ensemble de vos réponses.
Je vais tester la solution de Nesthib et je vous reviens avec ça.
Merci.
Fish
Dell Latitude 5480
Mint Xfce
5.15.0-84-generic x86_64
Xfce 4.18.1
Hors ligne
#9 Le 15/02/2013, à 14:00
- Flying-Fish
Re : [Résolu] Déplacer jpg corrompus
Waw, ça fonctionne vraiment très bien (par chance, aucun de mes fichiers ne portait le même nom, sinon je ne sais pas ce qui se serait passé).
Merci 1000 fois.
Fish
Dell Latitude 5480
Mint Xfce
5.15.0-84-generic x86_64
Xfce 4.18.1
Hors ligne
#10 Le 15/02/2013, à 14:08
- Flying-Fish
Re : [Résolu] Déplacer jpg corrompus
Ah, pis tant qu'j'vous tiens, est-ce que quelqu'un connaît un programme qui pourrait réparer les images que je viens justement de trier grâce à vous ?
Merki
Dell Latitude 5480
Mint Xfce
5.15.0-84-generic x86_64
Xfce 4.18.1
Hors ligne
#11 Le 15/02/2013, à 14:27
- Hizoka
Re : [Résolu] Déplacer jpg corrompus
cree toi un nouveau topic pour ca, tu auras plus de chance de réponse.
Et si c'est ok passe celui ci en resolu.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#12 Le 15/02/2013, à 14:29
- Flying-Fish
Re : [Résolu] Déplacer jpg corrompus
Oui m'sieur !
Fish
Dell Latitude 5480
Mint Xfce
5.15.0-84-generic x86_64
Xfce 4.18.1
Hors ligne