2012-08-29 24 views
15

En mi script bash en Mac (Snow Leopard) tengo una ruta de acceso y un nombre de archivo, y necesito obtener la fecha/hora modificada de ese archivo. Encontré que podía hacer:
stat -f "%m" $MYFILEfecha/hora modificada con formato de archivo en mac bash?

Sin embargo, eso devuelve lo que supongo que es la fecha/hora de época. Necesito la fecha/hora formateada: YYYYMMDDThhmmss. He encontrado todo tipo de opciones (como date) que aparentemente dependen de GNU, que en mi Mac no tengo.

¿Cuál es la forma estándar de modificar la fecha/hora de un archivo en un formato especificado por el usuario en mac (BSD?) Bash. O al menos, una función de formateo de fecha/hora a la que puedo pasarle el resultado de mi llamada stat.

Respuesta

28

En realidad es bastante simple, pero lo suficientemente diferentes de GNU date que es ni de lejos obvia:

date -r $TIMESTAMP +%Y%m%dT%H%M%S 

Para obtener stat hacer el formato:

stat -f "%Sm" -t "%Y%m%dT%H%M%S" FILE 
+2

gracias! ¡Guau, ojalá hubiera preguntado hace horas! –

+1

Finalmente, una respuesta simple, directa al grano, no es pomposa y efectiva para esta pregunta. No puedo creer cuántas personas piensan que realmente me importa aprender los 1,000 modificadores de comandos de estadísticas o fechas ... solo dame el comando que funciona y eso es todo. ¡MUCHAS GRACIAS! –

+0

wow, leí 'hombre stat' y no pude entender eso. – wisbucky

Cuestiones relacionadas