mirror of
https://github.com/oh-my-fish/oh-my-fish.git
synced 2024-11-23 12:57:57 +08:00
26 lines
750 B
Fish
26 lines
750 B
Fish
# 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
|