Files
DCS-211/Lab 1 - Group Work/rename.sh
2026-02-09 12:01:34 -05:00

34 lines
739 B
Bash

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