Untertiteldateien rekursiv komprimieren unter Linux

Untertiteldateien rekursiv komprimieren unter Linux

Ich habe zwei Hauptordner: „Peliculas“ und „Series“. Wie Sie sich vielleicht denken können, enthält „Peliculas“ Filme (einige davon in einem eigenen Ordner, diejenigen mit mehr als einer Datei) und der Ordner „Series“ enthält Fernsehsendungen.

Was ich brauche, ist eine Befehlszeile oder ein Skript, damit ich jeden Untertitel (.srt-Datei) zippen und in einen Ordner auf der Startseite verschieben kann, wie ~/MovieSubtitles/We Own The Night.zipund~/SeriesSubtitles/Masters of Sex S01E11 - Phallic Victories.zip

Die Ordnerstruktur sieht ungefähr so ​​aus:

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

Und. Nun. Ich habe eine Menge. Wirklich eine Menge, also brauche ich ein Skript. Ich kann es nicht manuell machen und möchte ein Backup jedes Untertitels in den zuvor erwähnten Ordnern aufbewahren, damit ich sie hochladen und bei Bedarf verfügbar machen kann, wie imYifi-Untertitel-Website

Ich muss also jede SRT-Datei im Ordner „Peliculas“ rekursiv zippen und auch jede Serie rekursiv (in diesem Fall jedoch auf zwei Ebenen, da sich jede Staffel auch in einem Unterordner innerhalb des Serienordners befindet), den Namen der SRT-Datei beibehalten und die ZIP-Datei in einem Ordner auf meinem Home-PC ablegen.

Irgendwelche Ideen?

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

Google....ing.?... ich bin auf diese Lösung gekommen:

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

(versuchte -iname 'srt', -iname '.srt‘, -name ‚*srt‘ und andere basierend auf Bendramis Idee und es ist alles dasselbe)

*find /media/peliculas -name.srtdruckt die gesamte SRT-Dateiliste (Untertitel) auf demFilmeOrdner... aber sobald ich -exec verwende

ich habe den Fehler =>finden: fehlendes Argument für „-exec“

also bitte helfen...

für ein paar Extrapunkte... :P Am besten ist es vielleicht, die ZIP-Datei nach dem Ordner zu benennen, der die SRT-Datei enthält, da diese den vollständigen Namen des Films, das Jahr und die Qualität enthält.

Antwort1

Legen Sie dieses Skript in Ihr Home-Verzeichnis:

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

Dann renne

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

Wenn es zu Kollisionen kommt, werden Sie darüber informiert, was zu tun ist.

Antwort2

Bei mir hat es mit 2 Zeilen so geklappt..

1)

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

was dies tut, ist, alle SRT (Untertiteldateien) in dem Ordner zu finden, in dem Sie es ausführen... in meinem Fall... /media/peliculas (der alle meine Filme enthält) und es am besten ohne die Verzeichniseinträge zu komprimieren (es fügt keinen Papierkorb hinzu, aber es fügt den Filmordner hinzu... hat bei mir am Ende funktioniert... würde es gerne verfeinern) jede SRT in ihrer eigenen Zip-Datei, die als SRT-Datei bezeichnet wird... also der Untertitel vonDr. Seltsam oder: Wie ich lernte, keine Sorgen mehr zu haben und die Bombe zu liebenEs wird in einer Zip-Datei gespeichert namensDr. Seltsam oder: Wie ich lernte, keine Sorgen mehr zu haben und die Bombe zu lieben.srt.zip

2)

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

und dies... der letzte Teil... also, es verschiebt alle ZIP-Dateien in einen Ordner bei mir zu Hause, wo ich die gezippten Untertitel aufbewahre... und sie auf Untertitel-Websites hochlade...

verwandte Informationen