Umbenennen von Dateien mit der Zeit der letzten Änderung im Dateinamen

Umbenennen von Dateien mit der Zeit der letzten Änderung im Dateinamen

Ich versuche, eine Datei mit dem Befehl umzubenennen mvund möchte das Datum der letzten Änderung dieser Datei (im Format JJJJMMTT) zum Dateinamen hinzufügen und sie in einen anderen Ordner verschieben. Das aktuelle Systemdatum habe ich folgendermaßen erhalten:

mv /home/user/Desktop/a.txt "/home/user/Desktop/testfolder/$(date +%Y%m%d)-a.txt"

Ich habe andere Kombinationen verwendet, dateaber es nicht hinbekommen. Ich muss wissen, ob es direkt über die Befehlszeile möglich ist oder ob ich ein Skript erstellen muss.

Antwort1

Sie können diesen Befehl versuchen:

mv /dir_path/example.txt /new_dir_path/$(date +%Y-%m-%d -r example.txt)example.txt

Antwort2

Am einfachsten lässt sich dies wahrscheinlich mit einer kleinen Skriptdatei beheben.

-Ö-

Ich denke, Sie möchten das Änderungsdatum anstelle des aktuellen Datums verwenden, siehe die Ausgabe von

ls -l a.txt

oder

ls -l --time-style=long-iso a.txt

Antwort3

Danke, ich habe es verstanden! Nur noch ein Detail. Wenn Sie den Befehl von einem Pfad aus verwenden, in dem sich die Originaldatei nicht befindet, müssen Sie Folgendes verwenden:

mv /dir_path/beispiel.txt /new_dir_path/$(date +%Y-%m-%d -r /dir_path/beispiel.txt)beispiel.txt

verwandte Informationen