2016-03-11 6 views
0

Я хочу, чтобы имитировать формат, используемый в log4j для меток времени с использованием даты Linux (только некоторые быстрых сценариев)Сформировать log4j формат временной метки в дате Linux

На log4j формата определяется как %d{dd MMM yyyy HH:mm:ss,SSS} Это было бы перевести на линию как:

2016-03-10 07: 01: 09778
2016-03-10 07: 01: 09.784

Может ли это быть достигнутый на сегодняшний день? Чем ближе у меня был

date +"%Y-%m-%d %H:%M:%S,%N" 

Но это все еще имеет 9 цифр вместо 3, любые идеи? Я бы предпочел не использовать sed/cut и т. Д., Но если альтернативы нет, все будет хорошо.

+1

Возможная Дубликат [Получить отформатированный Дата От Timestamp с закругленными миллисекунды Bash Shell Script] (http://stackoverflow.com/questions/16036763/get-formatted-date-from-timestamp-with- rounded-milliseconds-bash-shell-script) –

ответ

1

Это %N дает вам количество наносекунд (один миллиард в секунду), следовательно, девять цифр, а GNU date не имеет опции в миллисекундах.

К счастью, мы можем указать ширину поля, как этого

date +"%Y-%m-%d %H:%M:%S,%3N" 

Чтобы включить миллиардные в тысячные.

М.

+0

Отличный ответ, спасибо большое :) – user322049