pondělí 26. ledna 2009

Rozbalovač archivů

Přemýšlel jsem, jak si co nejvíce ulehčit práci s archivy. Je na milion různých archivátorů a stejný počet rozbalovačů. Rozhodl jsem se tedy, že než si pamatovat všechny příkazy na rozbalování (vím, že man man a RTFM ale tohle je můj blog:P )
Staci jej nahrat do /usr/local/bin, pridat prava ke spusteni a pak jen pri pokusu o rozbaleni staci napsat:
rozbal jmeno_souboru
popř.
rozbal soubor1 soubor2 soubor3
Není potřeba se tak starat, který rozbalovač rozbaluje rar, jaké má přepínače a jakou syntaxy příkaxu.

Vlastní script:


#!/bin/bash

for jmenoarchivu in $*
do
if [ -f "$jmenoarchivu" ] ; then
jmeno1=$(file -bi "$jmenoarchivu")
case $jmeno1 in
"application/x-bzip2") tar -xvjf "$jmenoarchivu" ;;
"application/x-gzip") tar -xvzf "$jmenoarchivu" ;;
"application/x-rar") unrar e "$jmenoarchivu" ;;
"application/rar") unrar e "$jmenoarchivu" ;;
"application/x-arj") unarj x "$jmenoarchivu" ;;
"application/arj") unarj x "$jmenoarchivu" ;;
"application/x-ace") unace x "$jmenoarchivu" ;;
"application/ace") unace x "$jmenoarchivu" ;;
"application/x-lha") lha e "$jmenoarchivu" ;;
"application/lha") lha e "$jmenoarchivu" ;;
"application/x-tar, POSIX (GNU)") tar -xvf "$jmenoarchivu" ;;
"application/x-tar") tar -xvf "$jmenoarchivu" ;;
"application/x-zip") unzip "$jmenoarchivu" ;;
"application/zip") unzip "$jmenoarchivu" ;;
*) echo "'$jmenoarchivu' nemuze byt rozbalen funkci rozbal" ;;
esac
else
echo "'$jmenoarchivu' neni mozne rozbalit programkem rozbal"
fi
done


Script je ke stažení na tomto linku.

Žádné komentáře: