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,20 +6,35 @@ extract () {
|
|||
echo "Error: No file specified."
|
||||
return 1
|
||||
fi
|
||||
if [ -f $1 ] ; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xvjf $1 ;;
|
||||
*.tar.gz) tar xvzf $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 ;;
|
||||
*.Z) uncompress $1 ;;
|
||||
*.7z) 7z x $1 ;;
|
||||
*) echo "'$1' cannot be extracted via extract" ;;
|
||||
if [ -f "$1" ] ; then
|
||||
case "$1" in
|
||||
*.tar.bz2) tar xvjf "$1" ;;
|
||||
*.tar.gz) tar xvzf "$1" ;;
|
||||
*.tar.xz|*.txz)
|
||||
xz -dc "$1" | tar xvf - ;;
|
||||
*.tar.lzma) ( xz -dc "$1" || lzma -dc "$1" ) | tar xvf - ;;
|
||||
*.tar.lzop) lzop -d -c "$1" | tar xvf - ;;
|
||||
*.tar.lzip) lzip -d -c "$1" | tar xvf - ;;
|
||||
*.cpio.gz|*.cpio.Z)
|
||||
gzip -dc "$1" | cpio -itvm ;;
|
||||
*.cpio.bz2) bzip2 -dc "$1" | cpio -itvm ;;
|
||||
*.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" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file"
|
||||
|
|
|
|||
Loading…
Reference in New Issue