mirror of
https://github.com/oh-my-fish/oh-my-fish.git
synced 2024-12-02 22:13:47 +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
|