У меня есть файл, который содержит даты эпох, которые мне нужно преобразовать в удобочитаемые человеком. Я уже знаю, как сделать преобразование даты, например:
[server01 ~]$ date -d@1472200700
Fri 26 Aug 09:38:20 BST 2016
... но я изо всех сил пытаюсь выяснить, как sed
пройтись по файлу и преобразовать все записи. Формат файла выглядит следующим образом:
#1472047795
ll /data/holding/email
#1472047906
cat /etc/rsyslog.conf
#1472048038
ll /data/holding/web
date -d
не является переносимым, чтобы сказать, Solaris ... Я предполагаю, что это в системе, в основном с инструментами GNU? (GNU AWK / Perl, как правило, являются более переносимыми методами для преобразования дат). gawk '{ if ($0 ~ /^#[0-9]*$/) {print strftime("%c",substr($0,2)); } else {print} }' < file
( strftime
кажется
HISTTIMEFORMAT
переменную оболочки, чтобы контролировать формат во время записи.