I have an interactive script which sorts and processes a variety of filetypes from an unsorted folder into newly created directories.
The script works great, But I was wondering how I could generate a script with an inverse action so that I could unwind / undo the executed script and its sorting process back to the folders (pre sort) state if need be.
What is the leanest possible way of achieving this.
#!/bin/bash
read -p "Good Morning, Please enter your file type name for sorting [ENTER]:" all_extensions
if cd /Users/christopherdorman/desktop
then while read extension
do destination="folder$extension"
mkdir -p "$destination"
mv -v unsorted/*."$extension" "$destination"
done <<< "${all_extensions// /$'\n'}"
mkdir -p foldermisc
if mv -v unsorted/* "foldermisc"
then echo "Good News, the rest of Your files have been successfully processed"
fi
for i in folder*/; do
ls -S "$i" > "${i}filelist"
cat "${i}filelist" >> ~/desktop/summary.txt
done
fi