1 votos

¿Establecer la fecha de modificación como la más antigua de los archivos seleccionados en el Finder?

Estoy tratando de escribir un shell script para usarlo en un Servicio que estoy creando en Automator para cambiar la "Fecha de Modificación" de todos los archivos seleccionados en el Finder a la fecha del archivo más antiguo modificado seleccionado. El problema es que sólo quiero procesar los archivos que tengo seleccionado - no todo archivos en una carpeta determinada.

He intentado hacer esto utilizando un bucle "for", pero no consigo que funcione. También he tratado de usar lo siguiente para ordenar la lista de archivos recibidos como entrada, pero parece que no puede averiguar cómo conseguir que funcione de esta manera tampoco.

oldest=$(stat -f "%m:%N" "$@" | sort -n | head -1 | cut -f2 -d:)

1voto

Max Well Puntos 161

¡Lo he descubierto! Necesitaba hacer ambos : ordenar los archivos de entrada seleccionados como argumentos y utilizar un bucle for para modificar cada archivo seleccionado.

Aquí está el shell script que acabé añadiendo como Servicio en Automator (recibe archivos y carpetas en Finder.app , pasar la entrada como argumentos ):

oldest=$(stat -f "%m:%N" "$@" | sort -n | head -1 | cut -f2 -d:)

for f in "$@"; do

    touch -r "$oldest" "$f"

done

También se me ocurrió añadir un Servicio similar para hacer lo mismo, excepto establecer la fecha de modificación de todos los archivos seleccionados para que coincida con la del más reciente archivo seleccionado. Aquí está el shell script que acabé añadiendo como Servicio en Automator para ello (recibe archivos y carpetas en Finder.app , pasar la entrada como argumentos ):

newest=$(stat -f "%m:%N" "$@" | sort -rn | head -1 | cut -f2 -d:)

for f in "$@"; do

    touch -r "$newest" "$f"

done

Espero que esto sea útil para otros que puedan tener un problema similar y se topen con esta pregunta y la solución que encontré para el problema.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X