archivos de subtítulos zip de forma recursiva en Linux

archivos de subtítulos zip de forma recursiva en Linux

Tengo 2 carpetas principales, Peliculas y Series, como puedes imaginar, Peliculas tiene películas (algunas de ellas en su propia carpeta, las que tienen más de 1 archivo) y la carpeta Series tiene programas de televisión.

Lo que necesito es una línea de comando o script para poder comprimir cada subtítulo (archivo .srt) y moverlo a una carpeta en la página de inicio como ~/MovieSubtitles/We Own The Night.zipy~/SeriesSubtitles/Masters of Sex S01E11 - Phallic Victories.zip

La estructura de carpetas es algo como esto:

on Movies:

Peliculas
|-10 Things I Hate About You (1999) BRRip 1080p
|-10,000 B.C. (2008) BRRip 1080p
|-10th & Wolf (2006) DvDRip
etc...

on Tv Shows:

Series
|-Anger Management
| |-Anger Management 1x
| |-Anger Management 2x
|-Breaking Bad
| |-Breaking Bad 1x
| |-Breaking Bad 2x
| |-Breaking Bad 3x
etc..

Y. Bien. Tengo mucho. Realmente mucho, así que necesito un guión. No puedo hacerlo manualmente y quiero mantener una copia de seguridad de cada subtítulo en las carpetas mencionadas anteriormente, para poder cargarlos y ponerlos a disposición cuando sea necesario, como en elsitio web de subtítulos yifi

Entonces lo que necesito es comprimir cada srt en la carpeta Peliculas de forma recursiva y Series también de forma recursiva (pero en este caso en 2 niveles, ya que cada temporada también está en una subcarpeta dentro de la carpeta de la serie), manteniendo el nombre del archivo srt y Coloque el zip en una carpeta en mi casa.

¿Algunas ideas?

/*************
*   Edited
*************/

¿Google...ing.?... Llegué con esta solución:

:~$ find /media/peliculas/ -name *.srt -exec zip '{}'.zip ~/subtitulos/peliculas/

(probé -iname 'srt', -iname'.srt', -name '*srt' y otros basados ​​en la idea de Bendrami y es todo lo mismo)

*buscar /media/peliculas -nombre.srtimprime la lista completa de archivos srt (subtítulos) en elpeliculascarpeta... pero tan pronto como uso -exec

Recibí el error =>buscar: falta argumento para '-exec'

así que ayuda por favor....

para obtener algunos puntos adicionales... :P Puede que sea mejor nombrar el archivo zip como la carpeta que contiene el archivo srt, ya que tiene el nombre completo de la película, el año y la calidad.

Respuesta1

Coloque este script en su directorio de inicio:

#!/bin/sh
x=`basename $1`
zip $2/${x}.zip $2/${x}
rm $2/${x}

Entonces corre

find /path/to/subtitles -iname '*srt' -exec ~/yourscript.sh {} /path/to/zip/directory

Si tiene alguna colisión, le indicará qué hacer.

Respuesta2

Lo hice funcionar de esta manera con 2 líneas.

1)

 find  -name *.srt -exec  zip -D9 '{}'.zip '{}' \;

Lo que esto hace es encontrar cualquier SRT (archivo de subtítulos) dentro de la carpeta en la que lo ejecuta... en mi caso... /media/peliculas (que contiene todas mis películas) y comprimirlo mejor sin las entradas del directorio (no No agrego basura pero agrega la carpeta de la película... funcionó para mí al final... me gustaría pulirlo) cada srt en su propio archivo zip llamado archivo srt... entonces el subtítulo deDr. Strangelove o cómo aprendí a dejar de preocuparme y amar la bombase guarda en un archivo zip llamadoDr. Strangelove o Cómo aprendí a dejar de preocuparme y amar la bomba.srt.zip

2)

find -name '*.zip' -exec mv '{}' ~/subtitulos/peliculas/ \;

y esto... la última parte... bueno, mueve todos los archivos zip a una carpeta en mi casa donde guardaré los subtítulos comprimidos... y los subiré a sitios web de subtítulos...

información relacionada