Ich versuche, eine Datei mit dem Befehl umzubenennen mv
und 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, date
aber 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