Ich habe versehentlich eine Datei in Ubuntu 16 (Terminal) gelöscht und photorec verwendet, um sie wiederherzustellen, aber ich habe so viele Ergebnisse erhalten, dass ich kaum manuell überprüfen kann, welches das neueste ist. Also verwende ich den Befehl
find -name "*.c" -print0 | xargs -0 -r grep -lH "Created named pipe" | xargs cp -p -t found/
um meine .c-Dateien in allen Ordnern zu finden, die den Suchbegriff enthalten. Mit cp -t kann ich diese Dateien an einen anderen Ort kopieren. Leider ist -p (or --preserve=timestamp)
das Dateidatum, das ich verwende,ls -alt
Jetztund nicht das Datum, das die Datei hat, die ich kopieren möchte. Ich habe das Datum der Originaldateien überprüft, die ich kopieren möchte, aber ihr Datum ist korrekt (irgendwo in der Vergangenheit).
Was kann ich tun, um das ursprüngliche Dateidatum beim Kopieren beizubehalten?
Antwort1
Ich habe eine Lösung ohne Kopieren gefunden, aber das ist in Ordnung, da ich nur die neueste Datei kopieren möchte, also
ls -alt $( find -name "*.c" -print0 | xargs -0 -r grep -lH "Created named pipe" )
erledigt dies, was ich brauche: Die Zeitstempel aller Dateien werden gedruckt.
Jetzt sehe ich auch, dass das Bearbeiten einer Datei und anschließendes Wiederherstellen das Bearbeitungsdatum nicht wiederherstellt. Man lernt nie aus...
Wie auch immer, vielleicht hilft das jemand anderem, Prost.