2008-05-26, 13:31
  #1
Medlem
PoltoXs avatar
Hej hej! Vet inte riktigt vad det är jag söker, med kanske något typ av bash-scrip?

Det jag vill göra är att packa upp alla rar-filer som ligger i en viss mapp och även dess undermappar. Exempel, mapp 1 heter "Filmer", i den mappen ligger det flera undermappar tex "Roy och Roger", "The Green Mile" osv. Rar-filerna ligger i "Roy och Roger" och "The Green Mile". I var och en av dessa mappar som rar-filerna ligger vill jag packa-upp innehållet och lägga filerna i samma mapp som dom blev uppackade ifrån.

Hur löser man detta? Det gäller ganska många mappar, så ett universalscript som kan användas flergånger utan att behöva ändra i scriptet vore att önska.

Vad gör växeln -r? Sitter inte på burken nu, kan tyvärr inte pröva.

Tack på förhand!
Citera
2008-05-26, 13:43
  #2
Medlem
e5150s avatar
Kod:
for DIR in `find . -type d`;do
  cd $DIR
  if ls *part01.rar > /dev/null 2>&1;then
    unrar x *part01.rar
  elif ls *rar > /dev/null 2>&1;then
    unrar x *rar
  fi
done
Citera
2008-05-26, 16:43
  #3
Medlem
PoltoXs avatar
Tackar för hjälpen!

En sak till bara, om man vill se outputen, ska man då knöka in
echo-kommandot någonstans i scriptet?
Citera
2008-05-26, 19:54
  #4
Medlem
Jag brukar köra med denna rad för att packa upp flera mappar:
find . -iname '*.rar' -execdir unrar e {} \;
Citera
2008-05-26, 22:37
  #5
Medlem
Rizados avatar
Citat:
Ursprungligen postat av PoltoX
Tackar för hjälpen!

En sak till bara, om man vill se outputen, ska man då knöka in
echo-kommandot någonstans i scriptet?
Nej det behvöer du inte, men ta bort > /dev/null. Det skickar nämligen utdatan till /dev/null och inget händer.
Citera
2008-05-27, 14:37
  #6
Medlem
PoltoXs avatar
Citat:
Ursprungligen postat av Rizado
Nej det behvöer du inte, men ta bort > /dev/null. Det skickar nämligen utdatan till /dev/null och inget händer.

Ahh, i see Måste seriöst lära mig lite bash och allmänt linux-tänk

Citat:
Ursprungligen postat av Plow
Jag brukar köra med denna rad för att packa upp flera mappar:
find . -iname '*.rar' -execdir unrar e {} \;
Ska pröva detta ochså...
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in