compress.sh
· 1.4 KiB · Bash
Raw
#!/bin/sh
# make sure the file/folder exists and .temp doesn't exist
if [ ! -f $@ ]; then
echo "file '$@' not found"
exit 1
fi
echo "setting up"
mkdir .temp$$
cp -r $@ .temp$$
cd .temp$$
F="file"
echo "tar"
tar -cf ${F}.tar $@
F="${F}.tar"
echo "gz"
gzip -9 ${F}
F="${F}.gz"
echo "xz"
xz -ze9T$(nproc) ${F}
F="${F}.xz"
echo "lzma"
lzma -ze9T$(nproc) ${F}
F="${F}.lzma"
echo "bz2"
bzip2 -z9 ${F}
F="${F}.bz2"
echo "lz"
lzip -9 ${F}
F="${F}.lz"
echo "cpio"
echo ${F} | cpio --quiet -oF ${F}.cpio
F="${F}.cpio"
echo "zst"
zstd -T$(nproc) --ultra -q -22 ${F}
F="${F}.zst"
echo "lz4"
lz4 -q -z -12 --rm ${F}
F="${F}.lz4"
# not doing rar because there's no free software to create them.
# .zip wasn't in the original so i'm doing that instead
echo "zip"
zip -9 -q ${F}.zip ${F}
F="${F}.zip"
echo "7z"
7z a -t7z -mx9 ${F}.7z ${F} > /dev/null # 7zip has no quiet option >:(
F="${F}.7z"
echo "bz3"
bzip3 -z --rm -j$(nproc) ${F}
F="${F}.bz3"
echo "br"
brotli -j -q 11 ${F}
F="${F}.br"
echo "hex"
xxd -ps ${F} > ${F}.hex
F="${F}.hex"
echo "swcr"
cat ${F} | sweecrypt encrypt > ${F}.swcr
F="${F}.swcr"
echo "b64"
base64 ${F} > ${F}.b64
F="${F}.b64"
echo "b32"
base32 ${F} > ${F}.b32
F="${F}.b32"
echo "lzo"
lzop -9 -q ${F}
F="${F}.lzo"
echo "squashfs"
mksquashfs ${F} ${F}.squashfs -quiet -no-progress
F="${F}.squashfs"
echo "cleaning up"
mv ${F} ..
cd ..
rm -r .temp$$
echo "done"
| 1 | #!/bin/sh |
| 2 | |
| 3 | # make sure the file/folder exists and .temp doesn't exist |
| 4 | if [ ! -f $@ ]; then |
| 5 | echo "file '$@' not found" |
| 6 | exit 1 |
| 7 | fi |
| 8 | |
| 9 | echo "setting up" |
| 10 | mkdir .temp$$ |
| 11 | cp -r $@ .temp$$ |
| 12 | cd .temp$$ |
| 13 | F="file" |
| 14 | |
| 15 | echo "tar" |
| 16 | tar -cf ${F}.tar $@ |
| 17 | F="${F}.tar" |
| 18 | |
| 19 | echo "gz" |
| 20 | gzip -9 ${F} |
| 21 | F="${F}.gz" |
| 22 | |
| 23 | echo "xz" |
| 24 | xz -ze9T$(nproc) ${F} |
| 25 | F="${F}.xz" |
| 26 | |
| 27 | echo "lzma" |
| 28 | lzma -ze9T$(nproc) ${F} |
| 29 | F="${F}.lzma" |
| 30 | |
| 31 | echo "bz2" |
| 32 | bzip2 -z9 ${F} |
| 33 | F="${F}.bz2" |
| 34 | |
| 35 | echo "lz" |
| 36 | lzip -9 ${F} |
| 37 | F="${F}.lz" |
| 38 | |
| 39 | echo "cpio" |
| 40 | echo ${F} | cpio --quiet -oF ${F}.cpio |
| 41 | F="${F}.cpio" |
| 42 | |
| 43 | echo "zst" |
| 44 | zstd -T$(nproc) --ultra -q -22 ${F} |
| 45 | F="${F}.zst" |
| 46 | |
| 47 | echo "lz4" |
| 48 | lz4 -q -z -12 --rm ${F} |
| 49 | F="${F}.lz4" |
| 50 | |
| 51 | # not doing rar because there's no free software to create them. |
| 52 | # .zip wasn't in the original so i'm doing that instead |
| 53 | echo "zip" |
| 54 | zip -9 -q ${F}.zip ${F} |
| 55 | F="${F}.zip" |
| 56 | |
| 57 | echo "7z" |
| 58 | 7z a -t7z -mx9 ${F}.7z ${F} > /dev/null # 7zip has no quiet option >:( |
| 59 | F="${F}.7z" |
| 60 | |
| 61 | echo "bz3" |
| 62 | bzip3 -z --rm -j$(nproc) ${F} |
| 63 | F="${F}.bz3" |
| 64 | |
| 65 | echo "br" |
| 66 | brotli -j -q 11 ${F} |
| 67 | F="${F}.br" |
| 68 | |
| 69 | echo "hex" |
| 70 | xxd -ps ${F} > ${F}.hex |
| 71 | F="${F}.hex" |
| 72 | |
| 73 | echo "swcr" |
| 74 | cat ${F} | sweecrypt encrypt > ${F}.swcr |
| 75 | F="${F}.swcr" |
| 76 | |
| 77 | echo "b64" |
| 78 | base64 ${F} > ${F}.b64 |
| 79 | F="${F}.b64" |
| 80 | |
| 81 | echo "b32" |
| 82 | base32 ${F} > ${F}.b32 |
| 83 | F="${F}.b32" |
| 84 | |
| 85 | echo "lzo" |
| 86 | lzop -9 -q ${F} |
| 87 | F="${F}.lzo" |
| 88 | |
| 89 | echo "squashfs" |
| 90 | mksquashfs ${F} ${F}.squashfs -quiet -no-progress |
| 91 | F="${F}.squashfs" |
| 92 | |
| 93 | echo "cleaning up" |
| 94 | mv ${F} .. |
| 95 | cd .. |
| 96 | rm -r .temp$$ |
| 97 | |
| 98 | echo "done" |
| 99 |