aboutsummaryrefslogtreecommitdiffstats
path: root/home-manager/soispha/config/lf/commands/scripts/stripspace
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/soispha/config/lf/commands/scripts/stripspace')
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/stripspace31
1 files changed, 31 insertions, 0 deletions
diff --git a/home-manager/soispha/config/lf/commands/scripts/stripspace b/home-manager/soispha/config/lf/commands/scripts/stripspace
new file mode 100755
index 00000000..91714712
--- /dev/null
+++ b/home-manager/soispha/config/lf/commands/scripts/stripspace
@@ -0,0 +1,31 @@
+#! /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