zip файлы субтитров рекурсивно на Linux

zip файлы субтитров рекурсивно на Linux

У меня есть две основные папки: «Пеленки» и «Сериалы». Как вы можете догадаться, в «Пеленках» находятся фильмы (некоторые из них находятся в отдельных папках, те, в которых больше одного файла), а в папке «Сериалы» находятся телешоу.

Мне нужна командная строка или скрипт, чтобы я мог заархивировать каждый субтитр (файл .srt) и переместить его в папку на домашнем компьютере, например, ~/MovieSubtitles/We Own The Night.zipи~/SeriesSubtitles/Masters of Sex S01E11 - Phallic Victories.zip

Структура папок примерно такая:

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..

И. Ну. У меня их много. Действительно много, поэтому мне нужен какой-то скрипт. Не могу сделать это вручную и хочу сохранить резервную копию каждого субтитра в папках, упомянутых ранее, чтобы я мог загрузить их и сделать доступными, когда понадобится, как всайт субтитров yifi

Итак, мне нужно рекурсивно заархивировать каждый srt в папку Peliculas и также рекурсивно в папку Series (но в этом случае на двух уровнях, так как каждый сезон также находится в подпапке внутри папки сериала), сохранив имя файла srt и поместив zip в папку в моем домашнем каталоге.

Есть идеи?

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

Google....ing.?... я нашел это решение:

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

(попробовал -iname 'srt', -iname'.srt', -name '*srt' и другие, основанные на идее Бендрами, и это все одно и то же)

*найти /media/peliculas -name.srtраспечатывает весь список файлов srt (субтитров) напеликулыпапка... но как только я использую -exec

я получил ошибку =>найти: отсутствует аргумент для '-exec'

так что помогите пожалуйста....

для дополнительных очков.. :P возможно, лучше всего назвать zip-файл так же, как папку, содержащую srt-файл, так как в нем указано полное название фильма, год и качество.

решение1

Поместите этот скрипт в свой домашний каталог:

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

Тогда беги

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

Если у вас возникнут какие-либо столкновения, вам подскажут, что делать.

решение2

У меня это получилось с помощью 2 строк.

1)

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

что он делает - находит любой SRT (файл субтитров) внутри папки, которую вы запускаете... в моем случае... /media/peliculas (где хранятся все мои фильмы) и лучше всего сжимает его без записей каталога (это не добавляет мусор, но добавляет папку с фильмом... в конце концов мне это сработало... хотелось бы его отполировать) каждый srt в своем собственном zip-файле, называемом файлом srt... поэтому субтитры изДоктор Стрейнджлав, или как я научился не беспокоиться и полюбил атомную бомбуон сохранен в zip-файле под названиемДоктор Стрейнджлав, или как я научился не беспокоиться и полюбил бомбу.srt.zip

2)

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

и это... последняя часть... ну, она перемещает все zip-файлы в папку у меня дома, где я буду хранить заархивированные субтитры... и загружать их на сайты с субтитрами...

Связанный контент