So kopieren Sie mit -t und behalten die Zeit bei

So kopieren Sie mit -t und behalten die Zeit bei

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 -altJetztund 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.

verwandte Informationen