Tôi có một tệp chứa ngày kỷ nguyên mà tôi cần chuyển đổi thành người có thể đọc được. Tôi đã biết cách thực hiện chuyển đổi ngày, ví dụ:
[server01 ~]$ date -d@1472200700
Fri 26 Aug 09:38:20 BST 2016
..nhưng tôi đang vật lộn để tìm ra cách sed
đi qua tập tin và chuyển đổi tất cả các mục. Định dạng tệp trông như thế này:
#1472047795
ll /data/holding/email
#1472047906
cat /etc/rsyslog.conf
#1472048038
ll /data/holding/web
date -d
không thể di động để nói Solaris ... Tôi cho rằng đây là trên một hệ thống có hầu hết các công cụ GNU? (GNU AWK / Perl có xu hướng là phương thức di động hơn để xử lý chuyển đổi ngày). gawk '{ if ($0 ~ /^#[0-9]*$/) {print strftime("%c",substr($0,2)); } else {print} }' < file
( strftime
dường như không di động ...)
HISTTIMEFORMAT
biến shell để kiểm soát định dạng tại thời điểm viết.