diff options
author | NRK <nrk@disroot.org> | 2021-09-13 13:37:01 +0600 |
---|---|---|
committer | NRK <nrk@disroot.org> | 2021-09-13 13:37:01 +0600 |
commit | 776dc63983c2b957363dde16ca668de5144fcaee (patch) | |
tree | 229b9f6e784c9ae1db40ee9fd28823e860f2382f | |
parent | 08e1a5b2279c69aedd06eaec20240c8216b9bdb8 (diff) | |
download | ranger-776dc63983c2b957363dde16ca668de5144fcaee.tar.gz |
rework the script
- remove null seperator - store the result of listfiles into a tmp file - remove -m 1 from grep, it's not needed. (it also wasn't posix) - remove dep on xargs
-rwxr-xr-x | examples/rifle_sxiv.sh | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/examples/rifle_sxiv.sh b/examples/rifle_sxiv.sh index 10a473fc..68b6d21c 100755 --- a/examples/rifle_sxiv.sh +++ b/examples/rifle_sxiv.sh @@ -19,9 +19,11 @@ # not work in dash and others), so we cannot store the result of listfiles to a # variable. +tmp="/tmp/sxiv_rifle_$$" + listfiles () { find -L "///${target%/*}" -maxdepth 1 -type f -iregex \ - '.*\.\(jpe?g\|png\|gif\|webp\|tiff\|bmp\)$' -print0 | sort -z + '.*\.\(jpe?g\|png\|gif\|webp\|tiff\|bmp\)$' -print | sort | tee "$tmp" } is_img () { @@ -39,10 +41,11 @@ case "$1" in *) target="$PWD/$1" ;; esac -is_img "$target" && count="$(listfiles | grep -m 1 -ZznF "$target")" +trap "rm -f $tmp" EXIT +is_img "$target" && count="$(listfiles | grep -nF "$target")" if [ -n "$count" ]; then - listfiles | xargs -0 sxiv -n "${count%%:*}" -- + sxiv -i -n "${count%%:*}" -- < "$tmp" else sxiv -- "$@" # fallback fi |