Estaba pasando por un tutorial y allí encontré un comando:
printf "%(%s)T"
El resultado de este comando es:
1454299615
¿Alguien podría decirme qué es este comando y qué significa la salida?
command-line
bash
rtecxs
fuente
fuente
printf
Eres un constructor?/usr/bin/printf
en Ubuntu 14.04 da un error:printf: %(: invalid conversion specification
. Si lo estas usandobash
. Pruebaman bash
con la documentación integrada.Respuestas:
Es una forma de expresar el tiempo formateado por
printf
.El formato es:
Donde
FORMAT
se define porstrftime(3)
.Entonces, para obtener el tiempo de la época (Tiempo en segundos desde 1970-01-01 00:00:00 UTC), necesitamos
strftime(3)
formato%s
:Tenga en cuenta que también necesita
\n
al final agregar una nueva línea ya queprintf
(a diferencia deecho
) no la agrega de manera predeterminada.Ejemplo:
Solo en aras de la exhaustividad, también puede usar el
date
comando de forma similarstrftime(3)
para obtener el tiempo:NOTA : Este comportamiento es específico
bash
's yksh
que está incorporado en la funciónprintf
, y no funciona con/usr/bin/printf
,csh
yzsh
muebles empotrados.fuente
printf(1)
página del manual.printf
está incorporado aquí (aunque el externo tiene el mismo comportamiento) ... verifiquehelp printf
...