#! /usr/bin/env dash # shellcheck source=/dev/null SHELL_LIBRARY_VERSION="1.1.4" . %SHELL_LIBRARY_PATH 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