У меня есть две основные папки: «Пеленки» и «Сериалы». Как вы можете догадаться, в «Пеленках» находятся фильмы (некоторые из них находятся в отдельных папках, те, в которых больше одного файла), а в папке «Сериалы» находятся телешоу.
Мне нужна командная строка или скрипт, чтобы я мог заархивировать каждый субтитр (файл .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-файлы в папку у меня дома, где я буду хранить заархивированные субтитры... и загружать их на сайты с субтитрами...