summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Boyce <me@willboyce.com>2014-06-09 18:04:16 +0100
committerWill Boyce <me@willboyce.com>2014-11-26 14:20:00 +0000
commitdb8eacf6fd0570c8e49e59a44c214bd927479861 (patch)
treeccbbb8f7bd13399a64ccd9434690d92c35e5940b
parent0222e774978232c03795b0e858d105aba6ed8123 (diff)
downloadzsh-db8eacf6fd0570c8e49e59a44c214bd927479861.tar.gz
zsh-db8eacf6fd0570c8e49e59a44c214bd927479861.tar.bz2
zsh-db8eacf6fd0570c8e49e59a44c214bd927479861.zip
use pigz if available in extract plugin
-rw-r--r--plugins/extract/extract.plugin.zsh4
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh
index a6e16ddf7..898d3d36e 100644
--- a/plugins/extract/extract.plugin.zsh
+++ b/plugins/extract/extract.plugin.zsh
@@ -38,7 +38,7 @@ function extract() {
file_name="$( basename "$1" )"
extract_dir="$( echo "$file_name" | sed "s/\.${1##*.}//g" )"
case "$1" in
- (*.tar.gz|*.tgz) tar xvzf "$1" ;;
+ (*.tar.gz|*.tgz) [ -z $commands[pigz] ] && tar zxvf "$1" || pigz -dc "$1" | tar xv ;;
(*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
(*.tar.xz|*.txz) tar --xz --help &> /dev/null \
&& tar --xz -xvf "$1" \
@@ -47,7 +47,7 @@ function extract() {
&& tar --lzma -xvf "$1" \
|| lzcat "$1" | tar xvf - ;;
(*.tar) tar xvf "$1" ;;
- (*.gz) gunzip "$1" ;;
+ (*.gz) [ -z $commands[pigz] ] && gunzip "$1" || pigz -d "$1" ;;
(*.bz2) bunzip2 "$1" ;;
(*.xz) unxz "$1" ;;
(*.lzma) unlzma "$1" ;;