diff --git a/dots/bin/extract.sh b/dots/bin/extract.sh new file mode 100755 index 0000000..e5b6802 --- /dev/null +++ b/dots/bin/extract.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +# klevstul :: 24.06 + +this_file_name=`basename "$0"` +if [ $# -lt 1 ]; then + echo "error: path to file is missing." + echo "usage: '$this_file_name [path_to_file]'" + exit 1 +fi +input_file=$1 + +if [ -f ${input_file} ] ; then + case $input_file in + *.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $input_file;; + *.tar.gz|*.tgz) tar xzvf $input_file;; + *.tar.xz|*.txz) tar xJvf $input_file;; + *.zip) unzip $input_file;; + *.rar) unrar x $input_file;; + *.7z) 7z x $input_file;; + esac +fi diff --git a/dots/lf/lfrc b/dots/lf/lfrc index 69373f5..144d836 100644 --- a/dots/lf/lfrc +++ b/dots/lf/lfrc @@ -94,17 +94,7 @@ cmd trash %trash-put $fx # extract the current file with the right command # (xkcd link: https://xkcd.com/1168/) -cmd extract ''${{ - set -f - case $f in - *.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;; - *.tar.gz|*.tgz) tar xzvf $f;; - *.tar.xz|*.txz) tar xJvf $f;; - *.zip) unzip $f;; - *.rar) unrar x $f;; - *.7z) 7z x $f;; - esac -}} +cmd extract %extract.sh "$f" # compress current file or selected files with tar and gunzip cmd tar ''${{