From cbc8441710d1077e03bd9563171c4705583bdbba Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Thu, 1 Jul 2010 10:33:34 -0700 Subject: [PATCH] fix "extract", handle pax files --- commonsh/10_utility | 50 +++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/commonsh/10_utility b/commonsh/10_utility index fb76e7a..ab874d9 100755 --- a/commonsh/10_utility +++ b/commonsh/10_utility @@ -51,42 +51,27 @@ extract () *.tar) tar xf "${1}" ;; - *.gz|*.z) - gzip -dc "${1}" > `basename "${1%.*}"` + *.tar.bz2|*.tbz2|*.tbz) + bzip2 -dc "${1}" | tar xf - ;; *.tar.gz|*.tgz|*.tz) gzip -dc "${1}" | tar xf - ;; - *.Z) - uncompress -c "${1}" > `basename "${1%.*}"` + *.tar.lzma|*.tlz) + lzma -dc "${1}" | tar xf - + ;; + *.tar.xz|*.txz) + xz -dc "${1}" | tar xf - ;; *.tar.z|*.tar.Z|*.taz) uncompress -c "${1}" | tar xf - ;; - *.bz2|*.bz) - bzip2 -dc "${1}" > `basename "${1%.*}"` - ;; - *.tar.bz2|*.tbz2|*.tbz) - bzip2 -dc "${1}" | tar xf - - ;; - *.7z) - 7zr x "${1}" - ;; *.tar.7z|*.t7z) 7zr x -so "${1}" | tar xf - ;; *.lzma) lzma -dc "${1}" > `basename "${1%.*}"` ;; - *.tar.lzma|*.tlz) - lzma -dc "${1}" | tar xf - - ;; - *.xz) - xz -dc "${1}" > `basename "${1%.*}"` - ;; - *.tar.xz|*.txz) - xz -dc "${1}" | tar xf - - ;; *.a|*.deb) ar x "${1}" ;; @@ -105,6 +90,12 @@ extract () *.lha|*.lzh) lha xqf "${1}" ;; + *.pax) + pax -rf "${1}" + ;; + *.pax.bz2) + bzip2 -dc "${1}" | pax -rf - + ;; *.rar) unrar x -idq "${1}" ;; @@ -117,6 +108,21 @@ extract () *.zoo) zoo x "${1}" ;; + *.bz2|*.bz) + bzip2 -dc "${1}" > `basename "${1%.*}"` + ;; + *.gz|*.z) + gzip -dc "${1}" > `basename "${1%.*}"` + ;; + *.xz) + xz -dc "${1}" > `basename "${1%.*}"` + ;; + *.Z) + uncompress -c "${1}" > `basename "${1%.*}"` + ;; + *.7z) + 7zr x "${1}" + ;; *) echo "Unable to extract '"$1"'" return 1