Es gab mehrere Möglichkeiten, die Datei anzufügen:
Vom Stackoverflow :
- Holen Sie sich das Datum als Zeichenfolge
Das ist ziemlich einfach. Verwenden Sie einfach den Datumsbefehl mit der Option +. Wir können Backticks verwenden, um den Wert in einer Variablen zu erfassen.
$ DATE=`date +%d-%m-%y`
Sie können das Datumsformat ändern, indem Sie verschiedene% -Optionen verwenden, wie auf der Datumsmanpage beschrieben .
- Teilen Sie eine Datei in Namen und Erweiterung auf.
Das ist etwas kniffliger. Wenn wir glauben, dass es nur einen geben wird. Im Dateinamen können wir cut mit verwenden. als Trennzeichen.
$ NAME=`echo $FILE | cut -d. -f1 $ EXT=`echo $FILE | cut -d. -f2`
Dies funktioniert jedoch nicht mit mehreren. im Dateinamen Wenn wir bash verwenden - was Sie wahrscheinlich sind - können wir einige Bash-Magie verwenden, die es uns ermöglicht, Muster zuzuordnen, wenn wir die variable Erweiterung ausführen:
$ NAME=$ $ EXT=$
Wenn wir sie zusammenstellen, bekommen wir:
$ FILE=somefile.txt $ NAME=$ $ EXT=$ $ DATE=`date +%d-%m-%y` $ NEWFILE=$_$.$ $ echo $NEWFILE somefile_05-10-15.txt
Und wenn wir uns weniger um die Lesbarkeit sorgen, erledigen wir die gesamte Arbeit in einer Zeile (mit einem anderen Datumsformat):
$ FILE=somefile.txt $ FILE=$_`date +%d%b%y`.$ $ echo $FILE somefile_05oct15.txt
Andere Möglichkeiten wären:
$ date Mi 16.10 ab 19:20:51 Uhr EDT 2013
Wenn Sie wirklich solche Dateinamen wünschen, müssen Sie diese Zeichenfolge in Anführungszeichen setzen.
$ touch "foo.backup. $ (Datum)"
$ ll foo * -rw-rw-r-- 1 saml saml 0 Okt 16 19:22 foo.backup.Wed Okt 16 19:22:29 EDT 2013
Wahrscheinlich denken Sie an eine andere Zeichenkette, die angehängt werden sollte, wäre jedoch meine Vermutung. Ich verwende normalerweise so etwas:
$ touch "foo.backup.$(date +%F_%R)" $ ll foo* -rw-rw-r-- 1 saml saml 0 Oct 16 19:25 foo.backup.2013-10-16_19:25
Weitere Informationen zum Formatieren der Ausgabe für Datum und Uhrzeit finden Sie in der Manpage. Zusätzliche Formate
Wenn Sie die vollständige Kontrolle übernehmen möchten, wenn Sie die Manpage aufrufen, können Sie Folgendes tun:
$ date +"%Y%m%d" 20131016 $ date +"%Y-%m-%d" 2013-10-16 $ date +"%Y%m%d_%H%M%S" 20131016_193655