2017-08-04 2 views
-2

Ich erstelle die Protokolle und Push-to-Logstash. Das Datumsformat des Logstash-Servers hat die unten angegebene Zielform. Auf dem Linux-Server kann ich mit dem Befehl date das lokale Datum/die lokale Uhrzeit in die Protokolldatei konvertieren. Wie verwende ich den Befehl date, um das folgende Format auf dem Linux-Server zu erhalten? Was ist das Format des folgenden Befehls? Ich kann das Format als TZ = 'CEST' Datum + "% field" einstellen. Ich habe versucht, einige Formatspezifikationen festzulegen, konnte aber die Zeichenfolge "th" nicht im Datum des Monats abrufen. Auch das letzte Feld '221' im Datum verstehe ich nicht. Irgendeine Hilfe ?Konvertieren Sie das Datum in das angegebene Format linux

Zielserver Format: 4. August 2017, 22: 30: 45,221

+1

Das letzte Feld enthält Sekundenbruchteile (dh das letzte Feld ist '45.221' Sekunden). Sind Sie * sicher * das ist das einzige Format, das vom Logstash-Server unterstützt wird? Das wäre ungewöhnlich. – larsks

+1

https://stackoverflow.com/questions/2495459/formatting-the-date-in-unix-to-include-suffix-on-day-st-nd-rd-and-th –

Antwort

1

versuchen diesen Code:

#!/bin/sh 
DaySuffix() { 
    case `date +%d` in 
    1|21|31) echo "st";; 
    2|22) echo "nd";; 
    3|23) echo "rd";; 
    *)  echo "th";; 
    esac 
} 
date "+%B %-d`DaySuffix` %Y, %T.%3N" 

Ergebnis für jetzt: 4. August 2017, 12: 04: 49.750

Hilfe Quelle: Formatting the date in unix to include suffix on day (st, nd, rd and th)

+0

IKrom @ Dies ist ein kluger Ansatz zu formatieren, um das benutzerdefinierte Datumsformat zu erhalten. @jww - Ich verwende den Befehl date im Bash-Skript, um das Datum an die Befehlsausgabe im bash-Skript zu füttern. Also hier gepostet. – arunp

+0

@arunp Setzen Sie bitte auch die grüne Flagge für die Antwort, wenn es Ihnen geholfen hat. Vielen Dank). – Ikrom

+0

ja es funktioniert. Falsch wie grün. – arunp

Verwandte Themen