Wie extrahiere ich mehrere Dateien gleichzeitig?

Wie extrahiere ich mehrere Dateien gleichzeitig?

Ich habe eine Reihe von RAR-Dateien wie folgt gespeichert:

/torrents/televisionshowS01E0$X/nameoftelevisionshow.rar

wobei $X eine Variable ={0,1,2,...,12} ist

Ich möchte sie mit einem einzigen Befehl in ein einziges Ausgabeverzeichnis extrahieren ( /publicshare/).

Folgendes habe ich bisher:

for i in find /torrents/televisionshowS01*/ -name *.rar; do unrar x "$i" /publicshare/;done

aber ich erhalte das folgende Ergebnis:

Cannot open /torrents/televisionshowS01E01/.rar
No such file or directory
No files to extract

Allerdings gibt „find /torrents/televisionshowS01*/ -name *.rar“ die richtigen Pfade zurück.

Antwort1

Oh, als ich mir das Bashscript anderer Leute ansah, wurde mir klar, dass ich Backticks um den Find-Befehl setzen sollte. So,

for i in `find /torrents/televisionshowS01*/ -name *.rar`; do unrar x "$i" /publicshare/; done

und dann funktionierte der Befehl wie gewünscht. Allerdings bin ich mir immer noch nicht sicher, WARUM genau. Ich gehe davon aus, dass sie so funktionieren wie Klammern in der Mathematik. Offensichtlich hat es dieses Mal funktioniert, aber hätte ich aus praktischen Gründen Backticks um ? setzen sollen unrar x "$i" /publicshare/?

Danke

verwandte Informationen