date
Polecenie wysyła bieżącą datę i czas takiego: Fri Apr 12 15:04:03 UTC 2013
.
Aby mieć wyjściową datę i godzinę w niestandardowym formacie, możemy użyć date +FORMAT
na przykład takiego: date "+%Y-%m-%dT%H:%M:%S%:z"
który daje coś takiego 2013-04-12T15:04:37+00:00
.
Ale chcę wiedzieć, co %Y
, %m
, %d
, %H
, %M
, %S
, itd. Są zbiorczo nazywane (tj terminologia). Jak się T
nazywa, ponieważ różni się od reszty?
date
terminology
to ja
źródło
źródło
date
A„ T ”to dosłownie„ T ”.%Y
ich znaczenia.date +"You will die in the year %Y"
T
nie jest wyjątkowy. Miałem też dziwny dzień w pracy, kiedy to pisałem (słuchając rozmów współpracowników).Odpowiedzi:
Termin używany w specyfikacji POSIX
date
polecenia to „specyfikacje konwersji”.Ciąg formatu dla
date
polecenia jest ściśle oparty na ciągu formatu dlaprintf
funkcji C ; norma C odnosi się również do%d
„specyfikacji konwersji”.T
nie poprzedzony%
jest tylko znakiem: „Wszystkie pozostałe znaki należy skopiować na wyjście bez zmian”.Zgodnie z sekcją historii zmian opisu POSIX
date
:Najwyraźniej wcześniejsza wersja specyfikacji używała wyrażenia „deskryptory pól”, ale „specyfikacje konwersji” są obecnie oficjalnym terminem.
Oczywiście nie oznacza to, że musisz się do nich tak odnosić.
źródło
conversion sequences
” lub „format sequences
” też są odpowiednie? Zastanawiam sięsequences
nad tymspecifications
, bo tak naprawdę jest wspomniane na stronie podręcznikadate
.Sądzę, że „sekwencje specjalne” lub (w tym przypadku) „znaki specjalne dla sekwencji procentowych” są typowym sposobem odwoływania się do nich. Sekwencje specjalne z odwrotnym ukośnikiem i procenty są często używane w C (np. Printf), więc przefiltrowano je również do kilku poleceń uniksowych (takich jak podanie monitu o powłokę).
„Sekwencja ucieczki” to „% Y”, „% m”, „% d” i tak dalej; a „znaki specjalne” to „Y”, „m”, „d” i tak dalej. „%” byłoby „znakiem ucieczki” (znakiem, który nadaje następującemu znakowi nietypowe / specjalne znaczenie).
źródło
Ten dokument z Centrum Informacji IBM wyraźnie stwierdza, że alfabety w
%Y
,%m
,%d
,%H
,%M
,%S
, itd. Są nazywane „ Pole Descriptors ”.To odpowiada na moje dwa pytania (około% n & T). I wierzę, że jest to tak wiarygodne, jak to tylko możliwe.
źródło
date
polecenia; co czyni ich dokumentację autorytatywną? Zachowanie polecenia jest obecnie zdefiniowane przez POSIX, który nie używa tego terminu. Historia zmian u dołu opisu POSIX mówi: „OPIS jest aktualizowany w celu odniesienia do specyfikacji konwersji, zamiast deskryptorów pól w celu zachowania zgodności z kategorią LC_TIME.”, Co oznacza, że „specyfikacja konwersji”, a nie „deskryptor pola” jest poprawna obecny termin. Zobacz także moją zaktualizowaną odpowiedź.Jak powiedzieli inni,
T
jest to dosłowna literaT
. Ale mówiąc konkretnie, twój przykładdate "+%Y-%m-%dT%H:%M:%S%:z"
wydaje się ciągiem formatu zgodnym ze specyfikacją ISO-8601 dla daty i godziny. Więc tutajT
jest separator, który oddziela datę od godziny.źródło