24 lines
630 B
Fish
24 lines
630 B
Fish
function extract --description 'Extract any archive'
|
|
switch $argv[1]
|
|
case '*.tar' '*.tar.*' '*.tgz' '*.tbz2' '*.txz' # tar autodetects compression
|
|
tar xf $argv[1]
|
|
case '*.zip'
|
|
unzip $argv[1]
|
|
case '*.rar'
|
|
unrar x $argv[1]
|
|
case '*.7z'
|
|
7z x $argv[1]
|
|
case '*.gz'
|
|
gunzip -k $argv[1]
|
|
case '*.xz'
|
|
unxz -k $argv[1]
|
|
case '*.zst'
|
|
unzstd $argv[1]
|
|
case '*.bz2'
|
|
bunzip2 -k $argv[1]
|
|
case '*'
|
|
echo "Unknown extension: $argv[1]"
|
|
return 1
|
|
end
|
|
end
|