mirror of
https://gitlab.com/JKANetwork/jka-toolkit.git
synced 2026-02-17 02:21:31 +01:00
130 lines
3.5 KiB
Bash
Executable File
130 lines
3.5 KiB
Bash
Executable File
#!/bin/bash
|
|
#JKA - ZIP
|
|
#A script for de/compress files and folders in many formats
|
|
#Author: JKA Network - contacto@jkanetwork.com
|
|
|
|
version="0.1"
|
|
if [ -z $1 ];then
|
|
echo "No option specified, use jkazip -h"
|
|
elif [ $1 = "-h" ];then
|
|
echo " synopsis: jkazip [option] [format (when compress)] [file or directory]"
|
|
echo ""
|
|
echo " -d, decompress file"
|
|
echo " -c, compress file"
|
|
echo " -h, show help box and exit"
|
|
echo " -v, show version"
|
|
echo ""
|
|
echo " Supported formats: tar,gzip,bzip2,xzip,7z,zip and rar"
|
|
echo " Only one file or directory (some formats don't support directories), for more options use the each program individualy"
|
|
echo ""
|
|
elif [ $1 = "-v" ];then
|
|
echo "jkazip by JKA Network; version $version"
|
|
elif [ $1 = "-d" ];then
|
|
if [ -z $2 ];then
|
|
echo "No file or directory specified"
|
|
exit
|
|
elif [ -d $2 ];then
|
|
echo "The directory $2 will be decompressed"
|
|
elif [ -f $2 ];then
|
|
echo "The file $2 will be decompressed"
|
|
else
|
|
echo "$2 no such file or directory"
|
|
exit
|
|
fi
|
|
format=$(ls $2 | cut -f2 -d".")
|
|
if [ $format = "tar" ];then
|
|
format2=$(ls $2 | cut -f3 -d".")
|
|
if [ -z $format2 ];then
|
|
tar xvf $2
|
|
echo "$2 has been decompressed"
|
|
elif [ $format2 = "gz" ];then
|
|
tar xvzf $2
|
|
echo "$2 has been decompressed"
|
|
elif [ $format2 = "bz2" ];then
|
|
tar xvjf $2
|
|
echo "$2 has been decompressed"
|
|
elif [ $format2 = "xz" ];then
|
|
tar xvJf $2
|
|
echo "$2 has been decompressed"
|
|
fi
|
|
elif [ $format = "tbz2" ];then
|
|
tar xvjf $2
|
|
echo "$2 has been decompressed"
|
|
elif [ $format = "tgz" ];then
|
|
tar xvjf $2
|
|
echo "$2 has been decompressed"
|
|
elif [ $format = "txz" ];then
|
|
tar xvJf $2
|
|
echo "$2 has been decompressed"
|
|
elif [ $format = "7z" ];then
|
|
7z e $2
|
|
echo "$2 has been decompressed"
|
|
elif [ $format = "zip" ];then
|
|
unzip $2
|
|
echo "$2 has been decompressed"
|
|
elif [ $format = "gz" ];then
|
|
gzip -dk $2
|
|
echo "$2 has been decompressed"
|
|
elif [ $format = "bz2" ];then
|
|
bzip2 -d $2
|
|
echo "$2 has been decompressed"
|
|
elif [ $format = "rar" ];then
|
|
rar -x $2
|
|
echo "$2 has been decompressed"
|
|
else
|
|
echo "Format $format unknown"
|
|
fi
|
|
elif [ $1 = "-c" ];then
|
|
if [ -z $3 ];then
|
|
echo "No file or directory specified"
|
|
exit
|
|
elif [ -d $3 ];then
|
|
echo "The directory $3 will be compressed"
|
|
elif [ -f $3 ];then
|
|
echo "The file $3 will be compressed"
|
|
else
|
|
echo "$3 no such file or directory"
|
|
exit
|
|
fi
|
|
if [ -z $2 ];then
|
|
echo "No format specified"
|
|
elif [ $2 = "tar" ] 2> /dev/null ;then
|
|
tar cvf $3.tar $3
|
|
echo "$3 has been compressed"
|
|
elif [ $2 = "tar.gz" ] 2> /dev/null ;then
|
|
tar cvzf $3.tar.gz $3
|
|
echo "$3 has been compressed"
|
|
elif [ $2 = "tar.bz2" ] 2> /dev/null ;then
|
|
tar cvjf $3.tar.bz2 $3
|
|
echo "$3 has been compressed"
|
|
elif [ $2 = "tar.xz" ] 2> /dev/null ;then
|
|
tar cvJf $3.tar.xz $3
|
|
echo "$3 has been compressed"
|
|
elif [ $2 = "tbz2" ] 2> /dev/null ;then
|
|
tar cvjf $3.tbz2 $3
|
|
echo "$3 has been compressed"
|
|
elif [ $2 = "tgz" ] 2> /dev/null ;then
|
|
tar cvjf $3.tgz $3
|
|
echo "$3 has been compressed"
|
|
elif [ $2 = "txz" ] 2> /dev/null ;then
|
|
tar cvJf $3.txz $3
|
|
echo "$3 has been compressed"
|
|
elif [ $2 = "7z" ] 2> /dev/null ;then
|
|
7z a $3.7z $3
|
|
echo "$3 has been compressed"
|
|
elif [ $2 = "zip" ] 2> /dev/null ;then
|
|
zip $3.zip $3
|
|
echo "$3 has been compressed"
|
|
elif [ $2 = "gz" -o $2 = "gzip" ] 2> /dev/null ;then
|
|
gzip -9k $3
|
|
echo "$3 has been compressed"
|
|
elif [ $2 = "bz2" -o $2 = "bzip2" ] 2> /dev/null ;then
|
|
bzip2 $3
|
|
echo "$3 has been compressed"
|
|
elif [ $2 = "rar" ] 2> /dev/null ;then
|
|
rar -a $3.rar $3
|
|
echo "$3 has been compressed"
|
|
else
|
|
echo "Format $2 unknown"
|
|
fi
|
|
fi |