Eu tenho 2 pastas principais Películas e Séries, como você deve imaginar, Películas contém filmes (alguns deles em pastas próprias, aquelas que possuem mais de 1 arquivo) e a pasta Séries contém programas de TV.
O que eu preciso é de uma linha de comando ou script para poder compactar cada legenda (arquivo .srt) e movê-la para uma pasta na página inicial como ~/MovieSubtitles/We Own The Night.zip
e~/SeriesSubtitles/Masters of Sex S01E11 - Phallic Victories.zip
A estrutura de pastas é mais ou menos assim:
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..
E. Bem. Eu tenho muito. Realmente muito, então preciso de algum script. Não consigo fazer isso manualmente e quero manter um backup de cada legenda nas pastas mencionadas anteriormente, para poder carregá-las e disponibilizá-las quando necessário como nosite de legendas yifi
Então o que preciso é compactar cada srt na pasta Peliculas recursivamente e Series também recursivamente (mas neste caso em 2 níveis, pois cada temporada também está em uma subpasta dentro da pasta da série), mantendo o nome do arquivo srt e coloque o zip em uma pasta na minha casa.
Alguma ideia?
/*************
* Edited
*************/
Google....ing.?... eu vim com esta solução:
:~$ find /media/peliculas/ -name *.srt -exec zip '{}'.zip ~/subtitulos/peliculas/
(tentei -iname 'srt', -iname '.srt', -name '*srt' e outros baseados na ideia de Bendrami e é tudo a mesma coisa)
*encontre /media/peliculas -name.srtimprime toda a lista de arquivos srt (legendas) nofilmespasta... mas assim que eu usar -exec
recebi o erro =>find: argumento ausente para '-exec'
então por favor ajude....
para alguns pontos extras .. :P pode ser melhor nomear o arquivo zip como a pasta que contém o arquivo srt, pois contém o nome completo do filme, o ano e a qualidade.
Responder1
Coloque este script em seu diretório inicial:
#!/bin/sh
x=`basename $1`
zip $2/${x}.zip $2/${x}
rm $2/${x}
Então corra
find /path/to/subtitles -iname '*srt' -exec ~/yourscript.sh {} /path/to/zip/directory
Se você tiver alguma colisão, ele lhe dirá o que fazer.
Responder2
Consegui que funcionasse assim com 2 linhas..
1)
find -name *.srt -exec zip -D9 '{}'.zip '{}' \;
o que isso faz é encontrar qualquer SRT (arquivo de legenda) dentro da pasta que você executa.. no meu caso.... /media/peliculas (que contém todos os meus filmes) e compactá-lo melhor sem as entradas do diretório (não não adiciona lixo, mas adiciona a pasta do filme... funcionou para mim no final.. gostaria de aprimorá-lo) cada srt em seu próprio arquivo zip chamado de arquivo srt... então a legenda deDoutor Strangelove ou como aprendi a parar de me preocupar e amar a bombaele é salvo em um arquivo zip chamadoStrangelove ou como aprendi a parar de me preocupar e amar a bomba.srt.zip
2)
find -name '*.zip' -exec mv '{}' ~/subtitulos/peliculas/ \;
e esta.. a última parte... bem, ele move todos os arquivos zip para uma pasta na minha casa onde guardarei as legendas compactadas.. e as enviarei para sites de legendas...