From 4ac4fd980757f47f464cb2e7fb46af39340d3643 Mon Sep 17 00:00:00 2001 From: Benjamin Adovasio Date: Mon, 9 Feb 2026 12:01:34 -0500 Subject: [PATCH] finished rename.sh --- Lab 1 - Group Work/rename.sh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Lab 1 - Group Work/rename.sh diff --git a/Lab 1 - Group Work/rename.sh b/Lab 1 - Group Work/rename.sh new file mode 100644 index 0000000..279d2c7 --- /dev/null +++ b/Lab 1 - Group Work/rename.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT_DIR="${1:-lab1_files/file_renaming/reorganized}" + +export LC_TIME=C +TODAY="$(date +'%d%b%Y')" + +make_filename() { + local chapter="$1" + local dataset="$2" + echo "CH${chapter}_DS${dataset}_${TODAY}.sav" +} + +shopt -s nullglob + +for chapter_dir in "$ROOT_DIR"/Chapter*; do + [[ -d "$chapter_dir" ]] || continue + + chapter_num="${chapter_dir##*/Chapter}" + + for file in "$chapter_dir"/DataSet*.sav; do + base="$(basename "$file")" + + dataset_num="$(echo "$base" | sed -E 's/^DataSet([0-9]+)\.sav$/\1/')" + [[ "$dataset_num" =~ ^[0-9]+$ ]] || continue + + new_name="$(make_filename "$chapter_num" "$dataset_num")" + mv -f "$file" "$chapter_dir/$new_name" + done +done + +echo "Rename complete."