feat: extract script

finally i dont need to remember all commands
This commit is contained in:
Jozef Steinhübl 2023-08-27 17:32:32 +02:00
parent 9bc91aac1b
commit 025de6fc5b

50
.local/bin/ex Executable file
View file

@ -0,0 +1,50 @@
#!/bin/zsh
if [[ -z $1 ]]; then
echo "Please provide a file to extract."
exit 1
fi
if [[ ! -f $1 ]]; then
echo "'$1' is not a valid file"
exit 1
fi
if [[ -z $2 ]]; then
extraction_folder="."
else
extraction_folder="$2"
fi
if [[ ! -d $extraction_folder ]]; then
mkdir -p $extraction_folder
fi
case $1 in
*.tar.bz2|*.tbz2)
tar -xjf $1 -C $extraction_folder;;
*.tar.gz|*.tgz)
tar -xzf $1 -C $extraction_folder;;
*.bz2)
bunzip2 $1 -c > $extraction_folder/$(basename $1 .bz2);;
*.rar)
unrar x $1 $extraction_folder;;
*.gz)
gunzip $1 -c > $extraction_folder/$(basename $1 .gz);;
*.tar)
tar -xf $1 -C $extraction_folder;;
*.zip)
unzip $1 -d $extraction_folder;;
*.Z)
uncompress $1 -c > $extraction_folder/$(basename $1 .Z);;
*.7z)
7z x $1 -o$extraction_folder;;
*.deb)
ar x $1 -C $extraction_folder;;
*.tar.xz)
tar -xf $1 -C $extraction_folder;;
*.tar.zst)
unzstd $1 -o $extraction_folder;;
*)
echo "'$1' cannot be extracted via ex()";;
esac