Muszę wyświetlać datę i godzinę w żądanym formacie w systemach Unix / Linux. Mój pożądany format to: dd / mm / rrrr gg: mm: ss: ms w systemie Unix lub Linux. Podszedłem blisko, używając następującego polecenia:
echo $(date +%x_%r)
Zwraca to:
08/20/2012_02:26:14 PM
Jakieś sugestie?
date
timestamps
Motek
źródło
źródło
echo
? Wydaje się zbędny, można go użyćdate
bezpośrednioOdpowiedzi:
jeśli chcesz wydrukować tylko dwie pierwsze liczby jako ms:
przechowywać w var:
źródło
date +'%d/%m/%Y_%H:%M:%S:%N
.Jeśli chcesz milisekund zamiast nanosekund dokładności, możesz użyć
%3N
zamiast%N
:lub z pożądanym użyciem
$(…)
:Należy jednak pamiętać, że
%N
może to nie zostać zaimplementowane w zależności od systemu docelowego lub wersji bash. Testowany na systemie wbudowanym »GNU bash, wersja 4.2.37 (2) -release (arm-buildroot-linux-gnueabi)« nie było%N
(ani%3N
):źródło
%N
ani%3N
.echo "$(date +'%F %H:%M:%S:%3N') Failed" >> logfile.txt
, ale zapisałfile.file 08:21:02OURCE:184 Failed
się do pliku dziennika. Co zrobiłem źle?gdate
w Homebrew apple.stackexchange.com/a/135749/181223data mężczyzny
Bardziej przydatne czytanie:
Jak sformatować datę do wyświetlenia lub użyć w skrypcie powłoki
źródło
Coś takiego
Użyłem% N dla nanosekund (000000000..999999999), ponieważ nie znalazłem teraz milisekund
źródło
Możesz spróbować:
Z jakiegoś powodu słowo „” zostało pominięte, więc umieść je po echu i na końcu lub po prostu:
źródło