Yanıtlar:
Hadi bakalım:
date +%Y%m%d%H%M%S
En man date
üste yakın bir yerde date
söylendiği gibi komutu şu şekilde kullanabilirsiniz :
date [OPTION]... [+FORMAT]
Yani, ona a ile başlayarak bir format parametresi verebilirsiniz +
. Muhtemelen kullandığım biçimlendirme sembollerinin anlamını tahmin edebilirsiniz:
%Y
yıl için%m
bir aydır%d
gün içinBunu ve diğer biçimlendirme sembollerini içinde bulabilirsiniz man date
.
Bash kullanıyorsanız, aşağıdaki komutlardan birini de kullanabilirsiniz:
printf '%(%Y%m%d%H%M%S)T' # prints the current time
printf '%(%Y%m%d%H%M%S)T' -1 # same as above
printf '%(%Y%m%d%H%M%S)T' -2 # prints the time the shell was invoked
Sonucu stdout'a yazdırmak yerine içinde -v varname
saklamak için Option'ı kullanabilirsiniz $varname
:
printf -v varname '%(%Y%m%d%H%M%S)T'
Tarih komutu her zaman bir alt kabukta (yani ayrı bir işlemde) çalıştırılırken, printf yerleşik bir komuttur ve bu nedenle daha hızlı olacaktır.
%
seçenekleri iletebileceğinizle ilgili daha fazla belge arayanlar için bu, date
komutu kullanıyor gibi görünüyor . Yani, man date
size mevcut seçenekleri verecektir.
Parametre genişletmeyi kullanarak bunu yapmanın ilginç / eğlenceli yolu (gerektirir bash 4.4
veya daha yeni):
${parameter@operator} - P operator
Genişletme, parametre değerinin bir bilgi istemi dizesi gibi genişletilmesinin sonucu olan bir dizedir.
$ show_time() { local format='\D{%Y%m%d%H%M%S}'; echo "${format@P}"; }
$ show_time
20180724003251
"`date +%Y-%m-%d %H:%M:%S`"
bana birdate: illegal time format