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

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

Например:

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

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); }' 
  • Unix-эпоха в миллисекундах
  • Как добавить / добавить временную метку для вывода grep?
  • Продолжить загрузку, если временная метка не изменилась
  • Как найти последние n новых файлов для каждой из нескольких каталогов
  • Удалить последний измененный файл
  • Почему sudo timestamp не обновляется при установке NOPASSWD?
  • Как отрегулировать временную метку Exif фотографии, используя дату в названии
  • Универсальная альтернативная альтернатива non-bash `time`?
  • Что вы можете сделать с файлом без запуска отметки «Изменить»?
  • копировать файлы, измененные после определенной даты с помощью cp-переключателей
  • Как мне выполнить ls, а затем отсортировать результаты по дате?
  • Interesting Posts

    экран с клавишами urxvt

    Сжатие всех файлов, содержащих определенную строку

    Параметр rm для отказа от несуществующих файлов

    Эквивалент iwlist, чтобы увидеть, кто вокруг?

    Добавить пользователя в основную группу другого пользователя

    Моя установка debian не имеет среды для рабочего стола, и нет доступа в Интернет

    обмен ключами в виртуальном терминале

    создание сценария в Linux-машине для научных вычислений

    Как изолировать объемы снимков с помощью btrfs?

    Есть ли способ отслеживать, что удаляет исполняемый флаг из файла?

    Запустить приложение при запуске

    sun.jdbc.odbc.JdbcOdbcDriver не найден

    Можно ли передавать переменные среды от дочернего к родительскому в пространстве пользователя?

    Ошибка при установке каталога с хоста через NFS

    Как я могу выполнить скрипт как root, выполнить некоторые команды в нем как конкретный пользователь и только одну команду как root

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