Sida 1 av 1

unrar mapp

Postat: 12 nov 2008, 18:48
av casper2
Hejsan jag skulle vilja kunna packa upp många olika rar filer på en gång.
tillexempel om jag tankar ner en serie, slippa gå in på varje avsnitt och välja packa upp.
hoppas ni fattar vad jag menar..

Re: unrar mapp

Postat: 12 nov 2008, 19:17
av dmz

Kod: Markera allt

find *.r* -exec rar x {} /mnt/TV/temp/ \;
Kanske t.ex?

Re: unrar mapp

Postat: 12 nov 2008, 19:37
av casper2
då packar den väl upp varenda rar fil på hela datorn eller?

Re: unrar mapp

Postat: 12 nov 2008, 19:58
av simonw
markera alla filer du vill packa upp, högerklicka och välj packa upp här. voila!

Re: unrar mapp

Postat: 12 nov 2008, 20:09
av David Andersson
find *.r* -exec rar x {} /mnt/TV/temp/ \;
casper2 skrev:då packar den väl upp varenda rar fil på hela datorn eller?
Bara i eventuella underkataloger och bara om de underkatalogerna matchar *.r*. Men find-kommandot hittar inte bara *.rar, utan också *.rm (realmedia), *.rc (resource) osv. Byt *.r* till *.rar så borde den bli mer förutsägbar.

Re: unrar mapp

Postat: 12 nov 2008, 20:11
av casper2
Hur markerar jag filer i olika undermappar?

Re: unrar mapp

Postat: 12 nov 2008, 20:31
av dmz
David Andersson skrev:
find *.r* -exec rar x {} /mnt/TV/temp/ \;
casper2 skrev:då packar den väl upp varenda rar fil på hela datorn eller?
Bara i eventuella underkataloger och bara om de underkatalogerna matchar *.r*. Men find-kommandot hittar inte bara *.rar, utan också *.rm (realmedia), *.rc (resource) osv. Byt *.r* till *.rar så borde den bli mer förutsägbar.
Men även mindre funktionell eftersom rar-filer inte alltid slutar på .rar. Om man ska slänga in detta som alias spelar nog inte .rc-filer etc så stor roll då man oftast vet vad man gör.
Däremot undrar jag lite över detta när vi ändå är inne på samma tema:

Kod: Markera allt

for i in $(find -name \*.r\*); do rar x $i; done
Det fungerar fint - förutom att det blir en infinite loop av alltihopa. Jag kan inte se varför dock.

Re: unrar mapp

Postat: 12 nov 2008, 21:20
av David Andersson
dmz skrev: Däremot undrar jag lite över detta när vi ändå är inne på samma tema:

Kod: Markera allt

for i in $(find -name \*.r\*); do rar x $i; done
Det fungerar fint - förutom att det blir en infinite loop av alltihopa. Jag kan inte se varför dock.
Jag kan inte se varför heller. Men find+-exec och find+xargs har fördelen att det är enklare att fixa så det funkar med mellanslag i filnamn, jämfört med for+$(). Enklast är nog for+*.

Kod: Markera allt

for i in *.rar; do rar x "$i"; done
(Byt *.rar mot */*.rar eller my_rars/*.rar om de ligger i dessa underkataloger)

Avvikelse från ämnet

Om det finns kommandoradsnybörjare i tråden så kan jag tipsa om att innan man använder ett mönster med * eller ? i ett kommando som skapar eller ändrar filer så kan man kolla att det matchar precis de filer man tänkt sig med ls eller bara find (utan exec el xargs). Exempel:

Kod: Markera allt

ls *.rar
find -name \*.r\*
eller behålla kommandot som skapar eller ändrar filer, men inleda det med echo, så det inte körs, men man ser vad som kommer att köras:

Kod: Markera allt

for i in *.rar; do echo rar x "$i"; done
for i in $(find -name \*.r\*); do echo rar x $i; done

Re: unrar mapp

Postat: 12 nov 2008, 21:28
av dmz
David Andersson skrev:
dmz skrev: Däremot undrar jag lite över detta när vi ändå är inne på samma tema:

Kod: Markera allt

for i in $(find -name \*.r\*); do rar x $i; done
Det fungerar fint - förutom att det blir en infinite loop av alltihopa. Jag kan inte se varför dock.
Jag kan inte se varför heller. Men find+-exec och find+xargs har fördelen att det är enklare att fixa så det funkar med mellanslag i filnamn, jämfört med for+$(). Enklast är nog for+*.

Kod: Markera allt

for i in *.rar; do rar x "$i"; done
(Byt *.rar mot */*.rar eller my_rars/*.rar om de ligger i dessa underkataloger)

Avvikelse från ämnet

Om det finns kommandoradsnybörjare i tråden så kan jag tipsa om att innan man använder ett mönster med * eller ? i ett kommando som skapar eller ändrar filer så kan man kolla att det matchar precis de filer man tänkt sig med ls eller bara find (utan exec el xargs). Exempel:

Kod: Markera allt

ls *.rar
find -name \*.r\*
eller behålla kommandot som skapar eller ändrar filer, men inleda det med echo, så det inte körs, men man ser vad som kommer att köras:

Kod: Markera allt

for i in *.rar; do echo rar x "$i"; done
for i in $(find -name \*.r\*); do echo rar x $i; done
Jag har dock inga mellanslag i filnamn. Har även försökt med xargs utan gott resultat.

Re: unrar mapp

Postat: 12 nov 2008, 21:46
av David Andersson
dmz skrev:

Kod: Markera allt

for i in $(find -name \*.r\*); do rar x $i; done
Det fungerar fint - förutom att det blir en infinite loop av alltihopa. Jag kan inte se varför dock.
Har du numrerade rar-filer, typ Lost.r01, Lost.r02, Lost.r03 ? Om jag minns rätt så kommer unrar att ta hand om r02, r03 automatisk när den får r01. Då kanske det med kommandot ovan ser det ut som den behandlar r02 och r03 flera gånger, men inte infinite. (Reservation: mitt minne och att att rar x inte gör samma sak som unrar).

En sak minns jag nu. Det finns en tråd om att matcha numrerade rar-filer. Vänta. Japp. http://ubuntu-se.org/phpBB3/viewtopic.php?f=67&t=26376

Re: unrar mapp

Postat: 12 nov 2008, 21:47
av dmz
David Andersson skrev:
dmz skrev:

Kod: Markera allt

for i in $(find -name \*.r\*); do rar x $i; done
Det fungerar fint - förutom att det blir en infinite loop av alltihopa. Jag kan inte se varför dock.
Har du numrerade rar-filer, typ Lost.r01, Lost.r02, Lost.r03 ? Om jag minns rätt så kommer unrar att ta hand om r02, r03 automatisk när den får r01. Då kanske det med kommandot ovan ser det ut som den behandlar r02 och r03 flera gånger, men inte infinite. (Reservation: mitt minne och att att rar x inte gör samma sak som unrar).

En sak minns jag nu. Det finns en tråd om att matcha numrerade rar-filer. Vänta. Japp. http://ubuntu-se.org/phpBB3/viewtopic.php?f=67&t=26376
Ja, det stämmer, hittas .rar t.ex packas resterande delar upp automagiskt. Ska kika på länken.