Linux で字幕ファイルを再帰的に zip 圧縮する

Linux で字幕ファイルを再帰的に zip 圧縮する

私は 2 つのメイン フォルダー Peliculas と Series を取得しました。ご想像のとおり、Peliculas には映画 (複数のファイルがあるものは独自のフォルダーに保存されているものもあります) が保存されており、Series フォルダーにはテレビ番組が保存されています。

必要なのは、各字幕(.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 も再帰的に圧縮することです (ただし、この場合は 2 レベルで、各シーズンはシリーズのフォルダー内のサブフォルダーにもあるため)。srt ファイルの名前を保持し、zip をホームのフォルダーに配置します。

何か案は?

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

Google....ing.?...この解決策を見つけました:

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

(-iname 'を試しましたsrt'、-iname '.srt'、-name '*srt' など、Bendrami のアイデアに基づいたものはすべて同じです)

*/media/peliculas -name を検索.srtsrtファイル(字幕)リスト全体を印刷します映画フォルダ...しかし、-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は、srtファイルと呼ばれる独自のzipファイルにあります...したがって、博士の異常な愛情 あるいは私はいかにして心配するのをやめて核爆弾を愛するようになったかそれはzipファイルに保存されます博士の異常な愛情 あるいは私はいかにして心配するのをやめて爆弾を愛するようになったか.srt.zip

2)

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

そしてこれが最後の部分です...すべての zip ファイルを自宅のフォルダーに移動し、そこに zip 形式の字幕を保存して、字幕 Web サイトにアップロードします...

関連情報