Moin Forum!
Mein Problem: Habe Daten verloren Wollte ca. 200 Samsung-Handy-Fotos per USB auf Festplatte übertragen. Dabei wurden die Daten z.T. nicht korrekt geschrieben, aber trotzdem von der SD-Karte des Handy gelöscht. Fazit: Fotos auf Handy sind gelöscht und auf Festplatte sind die Dateien kaputt - vermutlich wg. wackligem SATA-Kabel #@!½%&@#...)
Mein Lösungsansatz:
1. Dump der Handy-SD-Karte mit dd if=/dev/sde1 of=//tmp/bilder/sd_image
2. Fotos aus Dump wiederherestellt mit foremost foremost jpg -o /tmp/bilder2 -i /tmp/bilder/sd_mage Im Ergebnis habe ich nun aber 5000 !!! Fotos aus dem Dump erhalten B-). Leider haben die Fotos nicht mehr die Originalnamen, so dass ich die verlorenen Fotos nicht mittels Dateinamen (Datum+Zeit) erkenne.
3. Nur Fotos aus 2018 suchen Das Aufnahme-Datum 2018 ist in den Files als EXIF vorhanden, so dass ich mit grep eine Liste der Fotos aus 2018 erhalte grep -l "2018" * > liste_2018.txt Im der Liste stehen nun rd. 300 jpgs drinnen, die 2018 "geknipst" wurden.
Nun will ich die 300 gefundenen files aus den 5000 restored jpgs per script kopieren. Habe es mit pipes, grep uns xargs versucht, es funktioniert aber nicht.
[Da ich beim Zu-Bett-Bringen meiner Tochter mal schnell gebootet habe, sind nun der Dump und die wiederhergestellten Fotos aus /tmp wech 😲 Also nochmal von vorne. Der Dump lief diesmal rd. 8! Stunden!]
Meine Fragen:
a. Wie kann ich die Ausgabe von grep an cp übergeben, so dass die gefundenen Dateien in eine neues Verzeichnis kopiert werden?
b. Was bedeutet der * hinter dem grep-Befehl - habe hierzu nix gefunden, ohne ihn bekomme ich keine Ergebnisse.
c. xargs scheint hier wohl erforerlich, folgendes funktioniert aber nicht: grep -l "2018" * | xargs -I '{}' | cp '{}' /fotos2018/ gibt mir zurück: cp: Aufruf von stat für '{}' nicht möglich: Datei oder Verzeichnis nicht gefunden
tia + greetz from the mighty Urmel ☺