Sé cómo obtener el mtime de un archivo en formato de época:
stat --format=%Y <file>
Pero no he podido averiguar cómo configurar el tiempo m de un archivo en formato de época. La página de comando man touch (1) parece aceptar solo un valor de "marca de tiempo" (formato fijo más o menos que usa meses, días, horas, minutos, etc.) o una "cadena de fecha legible por humanos en formato mayormente libre".
¿Hay otra utilidad que debería estar buscando?
Gracias.
shell
timestamps
touch
eil
fuente
fuente
Respuestas:
Al menos en el mundo GNU:
Me gusta con
date
.fuente
Con
perl
:Esto cambiará mtime de todos los archivos en
@ARGV
.(stat($_))[8]
es el momento del archivo.utime
puede recibir una lista de archivos, si no le importa cambiar el tiempo, puede intentar:Nota
utime
depende de la biblioteca de tiempo de ejecución de C y del sistema de archivos que esté utilizando. ver más enperldoc -f utime
yperldoc perlport
.fuente
Con el
touch
comando de GNU coreutils (es decir, en Linux y Cygwin no integrados), consulte el manual completo (generalmente disponible localmente en formato de información) para obtener la documentación de los formatos de entrada de fecha . Las fechas de época se indican con el prefijo@
:Esto también funciona con BusyBox (al menos en algunos sistemas, puede depender de las opciones de compilación).
Con * BSD, no creo que pueda hacer esto
touch
solo, pero puede llamardate
para formatear el tiempo de época en un formato quetouch
acepte.POSIX carece notoriamente de formas de manipular fechas de época. Puedes usar perl .
fuente