1 votos

Coincidir la fecha de creación de 2 conjuntos de archivos con el mismo nombre

Acabo de convertir cientos de grabaciones AIF de hace unos días a WAV, pero necesito que los archivos recién creados mantengan la fecha de creación original de las grabaciones. Los nombres de los archivos son idénticos, aparte de la extensión, y se almacenan en dos carpetas distintas.

¿Hay alguna manera de modificar por lotes la fecha de creación de cada WAV para que coincida con su respectivo AIF?

Gracias.

0 votos

Gracias, sí he visto esto y otros sobre touch pero no he podido encontrar ninguno que mencione la coincidencia por lotes de las fechas de otro conjunto de archivos. Dime si me estoy perdiendo algo.

0 votos

Básicamente hay que procesar por fichero, leer la fecha de creación del AIF mediante stat y aplicarlo al WAV. Puedo escribir algo en unas horas una vez que estoy en frente de mi Mac :-)

0voto

Asumiendo una estructura de carpetas como

./
+--AIFFolder/
+--WAVFolder/

y también asumiendo que los archivos WAV terminan en .wav puede utilizar

cd AIFFolder
for f in *; do
    date=$(stat -f %SB -t %Y%m%d%H%M "$f")
    base=${f%.*}
    touch -t $date ../WAVFolder/"$base".wav
done

Esto se puede simplificar (gracias por la pista, @fd0) a

cd AIFFolder
for f in *; do
    touch -r "$f" ../WAVFolder/"${f%.*}.wav"
done

0 votos

Podrías tener una sola línea en tu bucle utilizando la función -r opción- touch -r "$f" ../WAVFolder/"${f%.*}.wav"

0 votos

@fd0 Ni siquiera conocía esa opción, gran material. No dudes en editar el código :-)

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