Như @TomMcKenzie nói trong một bình luận cho một câu trả lời khác, date -r 123456789
được cho là một giải pháp đơn giản phổ biến hơn (nghĩa là được triển khai rộng rãi hơn) trong vài giây kể từ Unix Epoch, nhưng không may là không có giải pháp di động được bảo đảm phổ quát.
Các -d
tùy chọn trên nhiều loại hệ thống có nghĩa là một cái gì đó hoàn toàn khác biệt so với GNU ngày của --date
phần mở rộng. Đáng buồn là Ngày GNU không diễn giải -r
giống như các triển khai khác. Thật không may, bạn phải biết phiên bản date
nào bạn đang sử dụng và nhiều date
lệnh Unix cũ hơn không hỗ trợ tùy chọn nào.
Thậm chí tệ hơn, POSIX date
không nhận ra -d
hoặc cũng không -r
cung cấp cách chuẩn nào trong bất kỳ lệnh nào (mà tôi biết) để định dạng thời gian Unix từ dòng lệnh (vì POSIX Awk cũng thiếu strftime()
). (Bạn không thể sử dụng touch -t
và ls
vì trước đây không chấp nhận thời gian là giây kể từ Unix Epoch.)
Lưu ý mặc dù The One True Awk có sẵn trực tiếp từ Brian Kernighan hiện có strftime()
chức năng tích hợp cũng như systime()
chức năng trả về thời gian hiện tại tính bằng giây kể từ Unix Epoch), vì vậy có lẽ giải pháp Awk là di động nhất.