#! /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