1
0
mirror of https://gitlab.com/JKANetwork/jka-toolkit.git synced 2026-02-17 10:31:30 +01:00
Files
jka-toolkit/jkazip
2016-05-22 01:18:14 +02:00

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