Преобразовать временную метку unix в hh: mm: ss: SSS (где SSS – миллисекунды) в AWK

Как преобразовать временную метку unix в hh: mm: ss: SSS (где SSS – миллисекунды) в AWK.

Например:

echo 1456478048306 > time cat time | awk ....... > readable_time_format 

  • Какой может быть вариант изменения измененного времени файла в будущем?
  • разница во времени между двумя датами ISO8601 с дробной второй частью
  • Удаление файлов по годам
  • Временная метка оборудования с использованием PTP
  • ls показывает временную метку без времени для файла на NFS
  • Каков наиболее эффективный способ добавления миллисекунд к этому коду?
  • ls -lu не дает последнего времени доступа
  • Получение файлов для текущей даты в Linux?
  • 2 Solutions collect form web for “Преобразовать временную метку unix в hh: mm: ss: SSS (где SSS – миллисекунды) в AWK”

    date GNU:

     d=1456478048306 s=${d%???} ms=${d#"$s"} date -d "@$s" +"%F %T.$ms %z" # or: date -d "$s.$ms" '+%F %T.%3N %z' 

    С date BSD:

     date -r "$s" +"%F %T.$ms %z" 

    С GNU awk и последними версиями mawk (начиная с 1.3.4 20121129 ):

     echo 1456478048306 | awk '{ print strftime("%F %T." substr($0,length-2) " %z", substr($0, 1, length-3))}' 

    Для переносимости perl может быть вашим лучшим выбором:

     echo 1456478048306 | perl -MPOSIX -lne ' print strftime "%F %T.$2 %z", localtime $1 if /(.+)(.{3})/' 

    Здесь, давая мой предпочтительный более обычный и менее двусмысленный формат:

     2016-02-26 09:14:08.306 +0000 

    но, конечно, вы можете настроить формат strftime по своему усмотрению.

    Если вы не заботитесь о часовых поясах и секундах секунд, и по какой-то причине ваш awk не поддерживает strftime , вы можете рассчитать его напрямую:

     awk '{ t=$1;sss=(t % 1000); t/=1000; ss=(t%60); t/=60; mm=(t%60); t/=60; hh=(t%24); printf("%02d:%02d:%02d.%03d\n",hh,mm,ss,sss); }' 
    Interesting Posts

    Убить все окна в рабочей области в i3

    «Список аргументов слишком длинный»: как мне с этим справиться, не меняя мою команду?

    hcidump не получает пакеты данных в Ubuntu 14.04?

    Почему моя файловая система установлена ​​как доступная только для чтения?

    Какой файл мне нужно изменить, чтобы сделать статический DNS-сервер в CentOS?

    Принудительное использование определенного DNS-провайдера в сети

    Четыре беловатых экрана, когда я пытаюсь установить дистрибутив Linux

    Не удалось установить libltc-dev в beaglebone black debian

    Не удалось войти в учетную запись любого пользователя в новой установке Arch Linux

    Сравнение отрицательных значений в bash с использованием массивов

    «Вход – дверь» в справочной странице Solaris «ls»

    Как команда «apt» отличается от «apt-get» и «aptitude»?

    Файловые дескрипторы и перенаправление в bash

    Повторение сообщения dmesg

    Как я могу отказаться от оболочки после выхода из команды, которую я начал с помощью сценария tmux?

    Linux и Unix - лучшая ОС в мире.