Hängen Sie das Datum an den Dateinamen in linux an
Möchte ich hinzufügen, das Datum neben einem Dateinamen ("somefile.txt"). Zum Beispiel: somefile_25-11-2009.txt oder somefile_25Nov2009.txt oder etwas zu diesem Effekt
Vielleicht ein Skript oder tun werden, einige Befehle in das terminal-Fenster. Ich verwende Linux(Ubuntu).
Vielen Dank im Voraus.
oh hätte ich fast vergessen hinzuzufügen, dass das Skript oder den Befehl aktualisieren sollten, die mit dem Namen auf ein neues Datum jedes mal, wenn Sie wollen speichern Sie die Datei in einem bestimmten Ordner aber immer noch halten die vorherigen Dateien. So würde es werden Dateien in den Ordner schließlich: filename_18Oct2009.txt , filename_9Nov2009.txt , filename_23Nov2009.txt
InformationsquelleAutor der Frage sami | 2009-11-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es zwei Probleme hier.
1. Holen Sie sich das Datum als string
Dies ist ziemlich einfach. Verwenden Sie einfach die
date
- Befehl mit der+
option. Wir können backticks, um den Wert in eine variable.Können Sie das Datumsformat ändern, durch die Verwendung unterschiedlicher
%
Optionen, wie detailliert auf der date Mann Seite.2. Split-eine Datei in den Namen und die Erweiterung.
Ist dies ein bisschen verzwickter. Wenn wir denken, Sie werden nur ein
.
im Dateinamen, das wir verwenden könnencut
mit.
als Trennzeichen.Jedoch funktioniert es nicht mit mehreren
.
im Dateinamen. Wenn wir mitbash
- was Sie wohl auch sind - wir können einige bash-Magie, die es uns erlaubt, um Muster zu vergleichen, wenn wir die variable expansion:Setzen Sie Sie zusammen, erhalten wir:
Und wenn wir uns weniger sorgen über die Lesbarkeit-die Arbeit erledigen wir in einer Zeile (mit unterschiedlichen Datumsformaten):
InformationsquelleAutor der Antwort Dave Webb
Können Sie backticks.
Ergibt:
InformationsquelleAutor der Antwort miku
InformationsquelleAutor der Antwort Soufiane Hassou
ein bisschen mehr verworrene Lösung, die voll entspricht Ihren spec
denen ersten 'expr' Auszüge der Dateiname ohne Erweiterung, zweite 'expr' Auszüge Erweiterung
InformationsquelleAutor der Antwort catwalk