0 votos

Cómo generar un bash / script automático

Soy nuevo en el terminal de unix y sistemas tipo. Estoy buscando una manera de crear automáticamente un archivo de proceso por lotes.

Digamos que tengo un montón de archivos en una carpeta, y quiero cambiar las fechas de creación. Como lo es ahora, he a touch -t 201704011215.00 Desktop/Old_cam_vids_converted_from_avi_to_mp4/file0001.mp34 para cada archivo. Lo que me gustaría hacer es algo como esto: ls -lT /Desktop/Old_avi_to_conv/*.avi y la fecha y hora para cada archivo como el tiempo-fecha de parámetro para el comando touch.

¿Cómo puedo lograr esto?

Editar: Espero que la explicación se hace más clara. Este es el escenario:

  • Dos carpetas en el escritorio que contiene los archivos de vídeo.
  • uno (folder_1) contiene los archivos originales (.avi)
  • el segundo (folder_2) contiene los archivos convertidos (.mp4)

  • todos los archivos en la segunda carpeta tiene una nueva secuencial fecha, ya que la herramienta de conversión de hecho trabajó a través de una lista de archivos.

  • Necesito tomar el sello de fecha/hora a partir del archivo original, en la primera carpeta y asígnele el archivo convertido en la segunda carpeta.

  • cada archivo en la carpeta de primera tiene una fecha diferente, posiblemente, días y meses de diferencia.

  • los archivos en la segunda carpeta con el mismo nombre que los de la primera carpeta, excepto por el sufijo de archivo, por ejemplo: folder_1/CIMG_0001.avi es el original de folder_2/CIMG_0001.mp4 folder_1/PIC_0003.avi es el original de folder_2/PIC_0003.mp4 folder_1/PIC_0015.avi es el original de folder_2/PIC_0015.mp4 folder_1/CIMG_003.avi id de la original de folder_2/CIMG_0003.mp4

2voto

Necesita procesar individualmente cada archivo mp4

 cd folder_2
for m in *.mp4; do
    a="${m%.mp4}".avi
    if [[ -r "/path/to/folder_1/$a" ]]; then
         echo touch -r "/path/to/folder_1/$a" "$m"
    fi
done
 

Ejecute una vez para verificar que la salida generada tenga sentido, luego quite el echo y vuelva a ejecutar.

PS: Esto supone que los nombres de los archivos de vídeo no contienen la cadena ".mp4" como tal.

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