Files
DCS-211/Lab 1 - Group Work/reorganize.sh

31 lines
912 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
SRC_DIR="${1:-lab1_files/file_renaming/Salkind 6e Data Sets}"
DEST_DIR="${2:-lab1_files/file_renaming/reorganized}"
mkdir -p "$DEST_DIR"
shopt -s nullglob
for f in "$SRC_DIR"/Chapter\ *\ Data\ Set\ *.sav; do
base="$(basename "$f")" # e.g., "Chapter 12 Data Set 3.sav"
# Extract chapter number k and dataset number j robustly.
# Expected format: Chapter k Data Set j.sav
k="$(printf '%s' "$base" | sed -E 's/^Chapter ([0-9]+) Data Set ([0-9]+)\.sav$/\1/')"
j="$(printf '%s' "$base" | sed -E 's/^Chapter ([0-9]+) Data Set ([0-9]+)\.sav$/\2/')"
# If the file doesn't match the pattern, skip it (e.g., "Sample Data Set.sav")
if [[ "$k" == "$base" || "$j" == "$base" ]]; then
continue
fi
chap_dir="$DEST_DIR/Chapter${k}"
mkdir -p "$chap_dir"
cp -f "$f" "$chap_dir/DataSet${j}.sav"
done
echo "Done. Created reorganized structure at: $DEST_DIR"