1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#!/usr/bin/env bash
if [ -z "$1" ]; then
echo "Usage: compress <file_or_directory>"
return 1
fi
if [ ! -e "$1" ]; then
echo "'$1' is not a valid file or directory"
return 1
fi
format=$(printf "\ntar.gz\ntar.bz2\nzip\n7z\nbz2\nrar\ntar.xz\ntgz\n" | \
fzf --header="Select compression format:" --height=50% --reverse --border --prompt='🔍 ')
case "$format" in
tar.gz) tar czf "$1.tar.gz" "$1" ;;
tar.bz2) tar cjf "$1.tar.bz2" "$1" ;;
zip) zip -r "$1.zip" "$1" ;;
7z) 7z a "$1.7z" "$1" ;;
bz2) bunzip2 "$1" ;;
rar) rar a "$1.rar" "$1" ;;
tar.xz) tar cJf "$1.tar.xz" "$1" ;;
tgz) tar czf "$1.tgz" "$1" ;;
*) echo "No valid format selected" ;;
esac
&title=compress
|