Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@serverwentdown
Created September 19, 2019 01:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save serverwentdown/bf706632a051d0aa939346e8f3bb43aa to your computer and use it in GitHub Desktop.
Save serverwentdown/bf706632a051d0aa939346e8f3bb43aa to your computer and use it in GitHub Desktop.
A bash script to normalise course documents.
#!/bin/bash
for file in */*; do
if ! [[ -f $file ]]; then
continue
fi
updated="$(echo $file | sed -E 's~^(([^/]*/)*)(ICT(-CSC)?[0-9]{4})?([- _]*)([^/]+)$~\1\6~')"
updated="$(echo $updated | sed -E 's~Chpt ?~Lect~')"
updated="$(echo $updated | sed -E 's~L(ecture|ect|ec|0)[- _]*0*([0-9]+)[- _]+~Lec\2 - ~')"
updated="$(echo $updated | sed -E 's~Lab[- _]*0*([0-9]+)[- _]+~Lab\1 - ~')"
updated="$(echo $updated | sed -E 's~W[- _]*0*([0-9]+)[- _]+~Week\1 - ~')"
updated="$(echo $updated | sed -E 's~Tut(orial)?[- _]*0*([0-9]+)[- _]+~Tut\2 - ~')"
updated="$(echo $updated | sed -E 's~2019[- _]*~~')"
echo "mv '$file' '$updated'"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment