Vinnaren i pepparkakshustävlingen!
2015-10-08, 02:04
  #1
Medlem
S-cups avatar
Hej

För ett par veckor sedan hade jag aldrig satt min fot utanför windows/OSX, men nu har jag lyckats få ihop en NAS som kör freenas. Allt flyter på relativt bra men det är en sak som jag inte lyckas klara av:

Säg att jag har:
/Serie
Avsnitt01
blabla.rar
blabla.r00
blabla.r01
Avsnitt02
blablal.rar
blablal.r00
blablal.r01
Avsnitt03
blafak.rar
blafak.r00
blafak.r01

etc.

Då vill jag förstås packa upp alla dessa *.rar med ett kommando.

När jag testar med unrar e /Serie/*/*.rar händer detta:
"Extracting from /Serie/Avsnitt01/blabla.rar"
"Extracting from /Serie/Avsnitt01/blabla.r00"
"Extracting from /Serie/Avsnitt01/blabla.r01"
"No files to extract"

Så det verkar som att den bläddrar igenom första mappen (Avsnitt01) och hittar till och med blabla.rar, men även fast det står "extractinig from" så händer det ingenting.


Om jag istället testar detta som jag hittade på google:
"cd /Serie"
"unrar e -r *.rar"

Så händer detta:
"unrar: no match"


Någon som har en bra lösning?


Som det är nu måste packa upp varje avsnitt för sig. Tar onödig tid...
Citera
2015-10-08, 03:05
  #2
Medlem
Croissants avatar
Nu minns jag inte de exakta namnen på kommandona. Men du ska alltså skriva två kommandon med ett : emellan.

Kommando 1: Lista alla .rar filer i den gär mappen och alla undermappar.
Kommando 2: Kör unrar på dem.

För att lista ut kommandot och dess syntax så använder jag någon help-funktion.

<kommando 1> : <kommando 2>
Citera
2015-10-08, 11:22
  #3
Medlem
Alfaslangs avatar
Följande borde fungera:

find /Serie -name '*.rar' -exec unrar e -y {} \;
Citera
2015-10-08, 13:29
  #4
Medlem
S-cups avatar
Tack, ska testa när jag kommer hem.


Nu ser jag att formateringen inte blev helt rätt i mitt första inlägg.

Jag tror ni förstod, men för att förtydliga så har alltså mappen "serier" undermapparna "avsnitt01", "avsnitt02" som i sin tur består av rar-filerna.
Citera
2015-10-08, 14:42
  #5
Medlem
S-cups avatar
Får inte göra en edit, så:


Får det att fungera, halvt.

Kunde inte få
find /Serie -name '*.rar' -exec unrar e -y {} \;
att fungera, men med eran hjälp, en lite bit från detta samt lite trial and error lyckades jag få fram detta:

find /serier . -name \*.rar -exec unrar e -y {} \;

Det fungerar ypperligt. Men (det ska alltid finnas ett men).
Normalt lägger jag alltid till "/media" i slutet så att filerna packas upp i /media. Med det här kommandot fungerar det inte:
"find: /media: unknown primary or operator"

Antar att jag gör något uppenbart fel om man är invigd...
Nu hamnar alla filerna i ett jail som jag sedan måste trixa lite med för att kunna flytta till rätt mapp.
Tacksam om någon orkar ta sig tid att berätta vad jag ska göra istället.
Citera
2015-10-08, 15:35
  #6
Medlem
Alfaslangs avatar
Borde funka:

find /serier -name '*.rar' -exec unrar e -y {} /media \;

Då kommer alla rar-filer under /serier (och dess undermappar) att packas upp till /media. Observera att /media normalt används som en monteringspunkt för flyttbar media (t.ex. USB-minne och skivor), så det är kanske inte helt optimalt att packa upp till den katalogen. Men, det funkar.

EDIT: Ah, jag glömde helt att du kör FreeNAS. Jag använder find från GNU, vilket FreeNAS säkerligen inte gör. Har tyvärr ingen FreeBSD att testa med här, så jag kan inte verifiera att det fungerar.
__________________
Senast redigerad av Alfaslang 2015-10-08 kl. 15:38.
Citera
2015-10-16, 17:08
  #7
Medlem
S-cups avatar
Citat:
Ursprungligen postat av Alfaslang
Borde funka:

find /serier -name '*.rar' -exec unrar e -y {} /media \;

Då kommer alla rar-filer under /serier (och dess undermappar) att packas upp till /media. Observera att /media normalt används som en monteringspunkt för flyttbar media (t.ex. USB-minne och skivor), så det är kanske inte helt optimalt att packa upp till den katalogen. Men, det funkar.

EDIT: Ah, jag glömde helt att du kör FreeNAS. Jag använder find från GNU, vilket FreeNAS säkerligen inte gör. Har tyvärr ingen FreeBSD att testa med här, så jag kan inte verifiera att det fungerar.
Tack som fan.

Fungerar utmärkt, nu kan jag göra en massa annat onödigt med tiden jag sparat
Citera
2015-10-18, 18:33
  #8
Medlem
S-cups avatar
En, förhoppningsvis sista, finjustering behövs.

När jag skriver in
find /serier -name '*.rar' -exec unrar e -y {} /media \;

Så måste jag själv avsluta, annars hamnar den i en loop. Den hittar alla filmer osv, men när den packat upp alla så fortsätter den att packa upp den sista filmen i all oändlighet (den börjar om direkt efter att det blir klart).

Det verkar som att det behövs någonting som berättar att "när du unrarat alla hittade *.rar så sluta".
Jag har testat med:
find /serier -name '*.rar' -exec unrar e -y {} /media \; -quit

Då slutar den efter första uppackningen, d.v.s. den packar bara upp en film/serie.

Någon som har en lösning?

Som ni märker vet jag mycket lite om detta. Finns det någon bra sida eller dyl. där man enkelt kan hitta svar på sådana här småsaker? Eller kräver det att man måste lära sig hela grunden?


Edit: Suck, ännu ett problem.
gjorde om lite på min freenas och jag har bl.a. detta:
/media/YYY/seed
/media/YYY/film

Om jag "kopplar" (sorry, vet inte rätt ord) "/media/YYY/film" till "/film", så att jag bara behöver skriva /film för att unrar ska förstå vart vi ska jobba.

Skriver jag:
find /film . -name \*.rar -exec unrar e -y {} /media \;
Så håller den sig inte bara till /film utan börjar även packa upp filer från /media/YYY/seed.
__________________
Senast redigerad av S-cup 2015-10-18 kl. 19:14.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback