diff --git a/plugins/extract/extract.fish b/plugins/extract/extract.fish new file mode 100644 index 0000000..a775ab8 --- /dev/null +++ b/plugins/extract/extract.fish @@ -0,0 +1,25 @@ +# Taken from: https://github.com/dideler/dotfiles/blob/master/functions/extract.fish + +function extract --description "Expand or extract bundled & compressed files" + set --local ext (echo $argv[1] | awk -F. '{print $NF}') + switch $ext + case tar # non-compressed, just bundled + tar -xvf $argv[1] + case gz + if test (echo $argv[1] | awk -F. '{print $(NF-1)}') = tar # tar bundle compressed with gzip + tar -zxvf $argv[1] + else # single gzip + gunzip $argv[1] + end + case tgz # same as tar.gz + tar -zxvf $argv[1] + case bz2 # tar compressed with bzip2 + tar -jxvf $argv[1] + case rar + unrar x $argv[1] + case zip + unzip $argv[1] + case '*' + echo "unknown extension" + end +end