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

printfEres un constructor?/usr/bin/printfen Ubuntu 14.04 da un error:printf: %(: invalid conversion specification. Si lo estas usandobash. Pruebaman bashcon la documentación integrada.Respuestas:
Es una forma de expresar el tiempo formateado por
printf.El formato es:
Donde
FORMATse 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
\nal 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
datecomando de forma similarstrftime(3)para obtener el tiempo:NOTA : Este comportamiento es específico
bash's ykshque está incorporado en la funciónprintf, y no funciona con/usr/bin/printf,cshyzshmuebles empotrados.fuente
printf(1)página del manual.printfestá incorporado aquí (aunque el externo tiene el mismo comportamiento) ... verifiquehelp printf...