Unrar all + delete..
Hey..
Bruger dette fantiske lille script som ondupe har lavet..
Men er der ikke en der gider modifisere lidt i det så den sletter rar filerne bagefter ?
http://linuxin.dk/node/17193
Ville være lækkert :)
Bruger dette fantiske lille script som ondupe har lavet..
Men er der ikke en der gider modifisere lidt i det så den sletter rar filerne bagefter ?
http://linuxin.dk/node/17193
Ville være lækkert :)
Kommentarer19
Noget i stilen med
!/bin/bash
cwd=`pwd`
find . -iname '*.rar' | while read FILE
do
d=`dirname "$FILE"`
f=`basename "$FILE"`
# only unrar part01.rar or .rar
echo $f | grep -q 'part[0-9]*.rar$' 2>&1 > /dev/null
if [ "$?" == "0" ]; then
echo $f | grep -q 'part01.rar$' 2>&1 > /dev/null
if [ "$?" == "1" ]; then
continue
fi
fi
cd "$d"
echo "Udpakker $f"
unrar x -o+ "$f"
cd "$cwd"
done
find. -iname '*.rar' | while read FILE
do
f=`basename "$FILE"`
rm $f
done
Jeg har ikke testet det...
Den sletter desværre kun
Hvordan fikser man lige det ?
!/bin/bashcwd=`pwd`find .
!/bin/bash
cwd=`pwd`
find . -iname '*.rar' | while read FILE
do
d=`dirname "$FILE"`
f=`basename "$FILE"`
# only unrar part01.rar or .rar
echo $f | grep -q 'part[0-9]*.rar$' 2>&1 > /dev/null
if [ "$?" == "0" ]; then
echo $f | grep -q 'part01.rar$' 2>&1 > /dev/null
if [ "$?" == "1" ]; then
continue
fi
fi
cd "$d"
echo "Udpakker $f"
unrar x -o+ "$f"
cd "$cwd"
done
find. -iname '*.rar' -or -iname '*.r*' | while read FILE
do
f=`basename "$FILE"`
rm $f
done
Har ikke testet det.... samme præmisser som sidst... og det er igen på eget ansvar
Hehe det virker delvist
Hvis jeg går ind i en mappe med rar filer og starter scriptet virker det perfekt.
Men hvis jeg står i en mappe der har undermapper med rar filer kan den ikke finde ud af det.
Det originale script går ind i under mappen, unrar, går ud og ind i det næste mappe, unrar osv osv.
Kan det optimeres endnu mere ? :)
Det kan det nok... jeg må
Men hvad er der ikke går ind i under mapperne, er det udpakningsdelen eller er det sletningsdelen?
Det er sletnings delen.. Den
Prøv at denne
!/bin/bash
cwd=`pwd`
find . -iname '*.rar' | while read FILE
do
d=`dirname "$FILE"`
f=`basename "$FILE"`
# only unrar part01.rar or .rar
echo $f | grep -q 'part[0-9]*.rar$' 2>&1 > /dev/null
if [ "$?" == "0" ]; then
echo $f | grep -q 'part01.rar$' 2>&1 > /dev/null
if [ "$?" == "1" ]; then
continue
fi
fi
cd "$d"
echo "Udpakker $f"
unrar x -o+ "$f"
cd "$cwd"
done
find. -iname '*.rar' -or -iname '*.r*' | while read FILE
do
rm $FILE
done
Finder den så ikke alle rar
Prøver den når jeg kommer hjem fra arbejde. :)
Yes det virker.. Sådan da
Pas det eneste som er
find. -iname '*.rar' -or -iname '*.r*' | while read FILE
do
rm $FILE
done
som er nederst i scriptet
Aah okay.. Det var min fejl
Men, den pakker ALLE ud første inden den sletter rar filerne.
Så hvis man teoretisk har 500GB data så pakker den ud først så det hele fylder 1000GB og derefter sletter det.
Kunne være fedt hvis den pakkede en undermappe ud og derefter slettede de rar filer den lige har brugt til at unrar.
Ja det har du ret i.... Men
og lidt til overtroen
Kan man ikke sætte rm
rm "$f"
efter unrar-kommandoen, så rar-filerne bliver slettet efterhånden som de er pakket ud?
Jo men jeg ved ikke helt
!/bin/bashcwd=`pwd`find .
!/bin/bash
cwd=`pwd`
find . -iname '*.rar' | while read FILE
do
d=`dirname "$FILE"`
f=`basename "$FILE"`
# only unrar part01.rar or .rar
echo $f | grep -q 'part[0-9]*.rar$' 2>&1 > /dev/null
if [ "$?" == "0" ]; then
echo $f | grep -q 'part01.rar$' 2>&1 > /dev/null
if [ "$?" == "1" ]; then
continue
fi
fi
cd "$d"
echo "Udpakker $f"
unrar x -o+ "$f"
rm $f
cd "$cwd"
done
Nope den sletter stadig nok
okay.... vender lige tilbage