#!/usr/bin/env bash if [ -z "$1" ]; then echo "Usage: compress " 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