Як зазначає @TomMcKenzie в коментарі до іншої відповіді, date -r 123456789можливо, це більш поширене (тобто більш широко впроваджене) просте рішення у часи, що даються секундами з часів Unix Epoch, але, на жаль, не існує універсального гарантованого портативного рішення.
-dВаріант на багатьох типах систем означає щось зовсім інше , ніж GNU Дейта --dateрозширення. На жаль, Дата GNU не інтерпретує -rте саме, що й інші реалізації. Тож, на жаль, ви повинні знати, яку версію dateви використовуєте, і багато старих dateкоманд Unix не підтримують жоден варіант.
Ще гірше, POSIX dateне розпізнає ні, -dні, -rі не забезпечує стандартного способу в будь-якій команді взагалі (про що я знаю) для форматування часу Unix з командного рядка (оскільки POSIX Awk також не вистачає strftime()). (Ви не можете використовувати, touch -tі lsтому що перший не сприймає час, вказаний як секунди з часів Unix Epoch.)
Зауважте, що тепер у One True Awk, доступного безпосередньо від Брайана Керніган, є strftime()вбудована функція, а також systime()функція повернення поточного часу за секунди після Unix Epoch), тому, можливо, рішення Awk є найбільш портативним.