Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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é tongue

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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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 smile

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