diff options
author | Soispha <soispha@vhack.eu> | 2024-02-23 21:04:57 +0100 |
---|---|---|
committer | Soispha <soispha@vhack.eu> | 2024-02-23 21:18:39 +0100 |
commit | 616ad5aeac56889966618745cc4dbb2aa3bc29f4 (patch) | |
tree | 334ffab6344111eb9f134383c0b9c84420edca72 | |
parent | refactor(hm/conf/lf/cmds/open): Remove, as it's better handled by xdg-handlers (diff) | |
download | nixos-config-616ad5aeac56889966618745cc4dbb2aa3bc29f4.tar.gz nixos-config-616ad5aeac56889966618745cc4dbb2aa3bc29f4.zip |
feat(hm/conf/lf/cmds/unarchive): Add support for multiple files
-rwxr-xr-x | hm/soispha/conf/lf/commands/scripts/unarchive.sh | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/hm/soispha/conf/lf/commands/scripts/unarchive.sh b/hm/soispha/conf/lf/commands/scripts/unarchive.sh index d52eee61..7a1377fa 100755 --- a/hm/soispha/conf/lf/commands/scripts/unarchive.sh +++ b/hm/soispha/conf/lf/commands/scripts/unarchive.sh @@ -15,17 +15,22 @@ id="$id" # extract the current file with the right command # (xkcd link: https://xkcd.com/1168/) set -f -# TODO: add support for multiple files at once -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) - die "rar is a unfree format!" - #unrar x $f - ;; -*.7z) 7z x "$f" ;; -*) die "Unsupported format" ;; -esac + +unarchive() { + case "$1" in + *.tar.bz | *.tar.bz2 | *.tbz | *.tbz2) tar xjvf "$1" ;; + *.tar.gz | *.tgz) tar xzvf "$1" ;; + *.tar.xz | *.txz) tar xJvf "$1" ;; + *.zip) unzip "$1" ;; + *.rar) + die "rar is a unfree format!" + ;; + *.7z) 7z x "$1" ;; + *) die "Unsupported format" ;; + esac +} + +while read -r file; do + unarchive "$file" +done <"$fx" # vim: ft=sh |