From 616ad5aeac56889966618745cc4dbb2aa3bc29f4 Mon Sep 17 00:00:00 2001 From: Soispha Date: Fri, 23 Feb 2024 21:04:57 +0100 Subject: feat(hm/conf/lf/cmds/unarchive): Add support for multiple files --- hm/soispha/conf/lf/commands/scripts/unarchive.sh | 31 ++++++++++++++---------- 1 file 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 -- cgit 1.4.1