diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-05-23 13:31:11 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-05-23 13:33:40 +0200 |
commit | fd9b0ecef4142a62b45404700ba1cff488f84a73 (patch) | |
tree | ef6c1f74f05a2220a41ccff4b0890c39229f32f7 /modules/home/conf/lf/commands/scripts/stripspace.sh | |
parent | refactor(pkgs): Categorize into `by-name` shards (diff) | |
download | nixos-config-fd9b0ecef4142a62b45404700ba1cff488f84a73.zip |
refactor(modules/home): Setup as "normal" NixOS module
Diffstat (limited to 'modules/home/conf/lf/commands/scripts/stripspace.sh')
-rwxr-xr-x | modules/home/conf/lf/commands/scripts/stripspace.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/modules/home/conf/lf/commands/scripts/stripspace.sh b/modules/home/conf/lf/commands/scripts/stripspace.sh new file mode 100755 index 00000000..33b1cbcf --- /dev/null +++ b/modules/home/conf/lf/commands/scripts/stripspace.sh @@ -0,0 +1,40 @@ +#! /usr/bin/env dash + +# shellcheck source=/dev/null +SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH + +# shellcheck disable=SC2269 +f="$f" +# shellcheck disable=SC2269 +fx="$fx" +# shellcheck disable=SC2269 +fs="$fs" +# shellcheck disable=SC2269 +id="$id" + +files=$(mktmp) +echo "$fx" >"$files" + +awk_source=$(mktmp) +cat <<OFT >"$awk_source" +BEGIN {FS=" "} +{for (i=1; i != NF + 1; i++) + if (i == NF) { + parts[i]=tolower(\$i); + } else { + parts[i]=tolower(\$i"_"); + } +} +END {for (i in parts) printf parts[i]} +OFT + +while read -r file; do + dirty_name=$(mktmp) + basename "$file" >"$dirty_name" + clean_name=$(awk -f "$awk_source" "$dirty_name") + + [ -e "$clean_name" ] && die "file \"$clean_name\" already exists!" + mv "$(cat "$dirty_name")" "$clean_name" || die "Move failed" + lf -remote 'send reload' +done <"$files" +# vim: ft=sh |