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.utimepuede recibir una lista de archivos, si no le importa cambiar el tiempo, puede intentar:Nota
utimedepende de la biblioteca de tiempo de ejecución de C y del sistema de archivos que esté utilizando. ver más enperldoc -f utimeyperldoc perlport.fuente
Con el
touchcomando 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
touchsolo, pero puede llamardatepara formatear el tiempo de época en un formato quetouchacepte.POSIX carece notoriamente de formas de manipular fechas de época. Puedes usar perl .
fuente