From 092f7e8e8372f7d0986978dbe7949124d99464b8 Mon Sep 17 00:00:00 2001
From: Steven Baltakatei Sandoval <baltakatei@gmail.com>
Date: Mon, 15 Jul 2024 21:24:30 +0000
Subject: [PATCH] fix(user/zeropad.sh):Only zero-pad files with leading digits

---
 user/zeropad.sh | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/user/zeropad.sh b/user/zeropad.sh
index e8b2a88..57b56c6 100755
--- a/user/zeropad.sh
+++ b/user/zeropad.sh
@@ -1,24 +1,27 @@
 #!/bin/bash
 # Desc: Zero-pad working dir files with initial digits for sorting
 # Usage: zeropad.sh
-# Version: 0.0.2
+# Version: 0.0.3
 
 # Find the maximum number of leading digits in the filenames of working dir
 max_digits="$(ls -1 * | sed 's/[^0-9].*//' | awk '{ if(length > L) L=length } END { print L }')";
 declare -p max_digits;
 
 # Loop over the files and rename them
-for file in *; do
-  # Extract the leading digits
-  digits="$(echo "$file" | sed 's/\([0-9]*\).*/\1/')";
-  # Zero-pad the digits
-  padded_digits="$(printf "%0${max_digits}d" "$digits")";
-  # Construct the new filename
-  new_file="${padded_digits}${file#${digits}}";
-  # Rename the file
-  mv -n "$file" "$new_file"
-  # declare -p file new_file; # debug
-done;
+while read -r file; do
+    re='^[0-9]+';
+    if [[ ! "$file" =~ $re ]]; then continue; fi;
+
+    # Extract the leading digits
+    digits="$(echo "$file" | sed 's/\([0-9]*\).*/\1/')";
+    # Zero-pad the digits
+    padded_digits="$(printf "%0${max_digits}d" "$digits")";
+    # Construct the new filename
+    new_file="${padded_digits}${file#${digits}}";
+    # Rename the file
+    mv -n "$file" "$new_file"
+    # declare -p file new_file; # debug
+done < <(find . -mindepth 1 -maxdepth 1 -type f);
 
 # Author: Steven Baltakatei Sandoval
 # License: GPLv3+
-- 
2.39.5