Tarih ve saati Unix / Linux'ta istenen biçimde görüntülemem gerekiyor. İstediğim format: dd / mm / yyyy ss: dd: ss: ms. Aşağıdaki komutu kullanarak yaklaştım:
echo $(date +%x_%r)
Bu döner:
08/20/2012_02:26:14 PM
Baska öneri?
Tarih ve saati Unix / Linux'ta istenen biçimde görüntülemem gerekiyor. İstediğim format: dd / mm / yyyy ss: dd: ss: ms. Aşağıdaki komutu kullanarak yaklaştım:
echo $(date +%x_%r)
Bu döner:
08/20/2012_02:26:14 PM
Baska öneri?
Yanıtlar:
date +%x_%H:%M:%S:%N
ms olarak yalnızca iki ilk sayıyı yazdırmanız gerekirse:
date +%x_%H:%M:%S:%N | sed 's/\(:[0-9][0-9]\)[0-9]*$/\1/'
var içinde saklamak için:
VAR=$(date +%x_%H:%M:%S:%N | sed 's/\(:[0-9][0-9]\)[0-9]*$/\1/')
date +'%d/%m/%Y_%H:%M:%S:%N
.
Nanosaniye hassasiyet yerine milisaniye istiyorsan, %3N
yerine şunu kullanabilirsin %N
:
$ date +'%d/%m/%Y %H:%M:%S:%3N'
12/04/2014 18:36:20:659
veya istediğiniz kullanımda $(…)
:
$ echo "$(date +'%d/%m/%Y %H:%M:%S:%3N')"
12/04/2014 18:36:20:659
Ancak bunun %N
hedef sisteminize veya bash sürümünüze bağlı olarak uygulanmayabileceğini unutmayın. Gömülü bir sistemde test edildi »GNU bash, sürüm 4.2.37 (2) - yayınlanma (arm-buildroot-linux-gnueabi)«, hiçbiri %N
(hiçbiri %3N
):
date +"%F %T,%N"
2014-01-08 16:44:47,%N
%N
veya %3N
.
echo "$(date +'%F %H:%M:%S:%3N') Failed" >> logfile.txt
, ancak file.file 08:21:02OURCE:184 Failed
günlük dosyasına yazdı . Neyi yanlış yaptım?
gdate
Homebrew içinde apple.stackexchange.com/a/135749/181223
date +"%d/%m/%Y_%H:%M:%S:%N"
Daha yararlı okuma:
Görüntüleme tarihi nasıl düzenlenir veya bir kabuk komut dosyasında nasıl kullanılır
Deneyebilirsin:
echo `date +"%Y_%m_%d %H:%M:%S,"``date +%N/1000000|bc -l|grep -Eo "^([0-9]{0,3})"`
Bir nedenden dolayı '' 'ihmal edilir, bu yüzden yankıdan ve sondan sonra koyun ya da basitçe:
date +"[%Y_%m_%d %H:%M:%S,%3N]"
echo
? Gereksiz görünüyor, sadecedate
doğrudan kullanabilirsiniz