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