From fccf91728e7dfc247f4eaeaeffb85a4420f44b25 Mon Sep 17 00:00:00 2001 From: Mike Turquette Date: Sat, 5 Jan 2013 15:06:22 -0800 Subject: [PATCH] plugins: extract: add new preview-extract function It is often desirable to inspect the contents of an archive before unpacking it. Add a new function, preview-extract, which does this. preview-extract is a copy-paste of extract(), but the tar commands have parameter 'x' replaced with 't' to print the pathes of any files in the archive. The non-tar lines have been commented out since I rarely use those and don't know the equivalent parameters off hand. Hopefully a kind soul will add those in. Signed-off-by: Michael Turquette --- plugins/available/extract.plugin.bash | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/plugins/available/extract.plugin.bash b/plugins/available/extract.plugin.bash index bb520451..906be114 100644 --- a/plugins/available/extract.plugin.bash +++ b/plugins/available/extract.plugin.bash @@ -25,3 +25,29 @@ extract () { echo "'$1' is not a valid file" fi } + +extract-preview () { + if [ $# -ne 1 ] + then + echo "Error: No file specified." + return 1 + fi + if [ -f $1 ] ; then + case $1 in + *.tar.bz2) tar tvjf $1 ;; + *.tar.gz) tar tvzf $1 ;; + #*.bz2) bunzip2 $1 ;; + #*.rar) unrar x $1 ;; + #*.gz) gunzip $1 ;; + *.tar) tar tvf $1 ;; + *.tbz2) tar tvjf $1 ;; + *.tgz) tar tvzf $1 ;; + #*.zip) unzip $1 ;; + #*.Z) uncompress $1 ;; + #*.7z) 7z x $1 ;; + *) echo "'$1' cannot be extracted via extract" ;; + esac + else + echo "'$1' is not a valid file" + fi +}