exctract.plugin: added support for multiple compressors
Added support for the LZMA, LZOP, XZ and lzip compressors and for the cpio archiver. Now works with files and paths containing whitespaces.pull/309/head
parent
a1e87c4920
commit
05baab75dd
|
|
@ -6,19 +6,34 @@ extract () {
|
||||||
echo "Error: No file specified."
|
echo "Error: No file specified."
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
if [ -f $1 ] ; then
|
if [ -f "$1" ] ; then
|
||||||
case $1 in
|
case "$1" in
|
||||||
*.tar.bz2) tar xvjf $1 ;;
|
*.tar.bz2) tar xvjf "$1" ;;
|
||||||
*.tar.gz) tar xvzf $1 ;;
|
*.tar.gz) tar xvzf "$1" ;;
|
||||||
*.bz2) bunzip2 $1 ;;
|
*.tar.xz|*.txz)
|
||||||
*.rar) unrar x $1 ;;
|
xz -dc "$1" | tar xvf - ;;
|
||||||
*.gz) gunzip $1 ;;
|
*.tar.lzma) ( xz -dc "$1" || lzma -dc "$1" ) | tar xvf - ;;
|
||||||
*.tar) tar xvf $1 ;;
|
*.tar.lzop) lzop -d -c "$1" | tar xvf - ;;
|
||||||
*.tbz2) tar xvjf $1 ;;
|
*.tar.lzip) lzip -d -c "$1" | tar xvf - ;;
|
||||||
*.tgz) tar xvzf $1 ;;
|
*.cpio.gz|*.cpio.Z)
|
||||||
*.zip) unzip $1 ;;
|
gzip -dc "$1" | cpio -itvm ;;
|
||||||
*.Z) uncompress $1 ;;
|
*.cpio.bz2) bzip2 -dc "$1" | cpio -itvm ;;
|
||||||
*.7z) 7z x $1 ;;
|
*.cpio.xz) xz -dc "$1" | cpio -itvm ;;
|
||||||
|
*.cpio) cpio -itvm < "$1" ;;
|
||||||
|
*.bz2) bunzip2 "$1" ;;
|
||||||
|
*.rar) unrar x "$1" ;;
|
||||||
|
*.gz) gunzip "$1" ;;
|
||||||
|
*.tar) tar xvf "$1" ;;
|
||||||
|
*.tbz2) tar xvjf "$1" ;;
|
||||||
|
*.tgz) tar xvzf "$1" ;;
|
||||||
|
*.zip) unzip "$1" ;;
|
||||||
|
*.jar) unzip "$1" ;;
|
||||||
|
*.Z) (uncompress "$1" || gzip -dc "$1") ;;
|
||||||
|
*.7z) 7z x "$1" ;;
|
||||||
|
*.lzma) (xz -dc "$1" || lzma -d "$1") ;;
|
||||||
|
*.lzop) lzop -d "$1" ;;
|
||||||
|
*.lzip) lzip -d "$1" ;;
|
||||||
|
*.xz) xz -d "$1" ;;
|
||||||
*) echo "'$1' cannot be extracted via extract" ;;
|
*) echo "'$1' cannot be extracted via extract" ;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue