Skip to content

Instantly share code, notes, and snippets.

@henriquemoody
Last active December 10, 2015 03:58
Show Gist options
  • Save henriquemoody/4378263 to your computer and use it in GitHub Desktop.
Save henriquemoody/4378263 to your computer and use it in GitHub Desktop.
Rename files by date. (OSX, only)
#!/usr/bin/env bash
# Usage: {script} FILE1 FILE2 ...
#
# --help, h Displays this help
#
# Report bugs to Henrique Moody <henriquemoody@gmail.com>
#
_help()
{
sed -E 's/^#\s?(.*)/\1/g' "${0}" |
sed -nE '/^Usage/,/^Report/p' |
sed "s/{script}/$(basename "${0}")/g"
}
_rename_by_date()
{
file_creation=$(
stat -t "%Y-%m-%d_%H.%M.%S" "${1}" |
sed 's/"//g' |
awk '{print $10}' |
sed 's/_/ /g'
)
file_extension=$(
echo "${1}" |
rev |
cut -d . -f 1 |
rev |
tr "[:upper:]" "[:lower:]"
)
if [ "${file_extension}" == "jpeg" ] || [ -z "${file_extension}" ]; then
file_extension="jpg"
fi
mv -vn "${1}" "${file_creation}.${file_extension}"
}
if [ ${#} -eq 0 ]; then
_help 1>&2
exit 1
fi
while [ ! -z "${1}" ]; do
case "${1}" in
--help | -h)
_help
exit 0
;;
*)
_rename_by_date "${1}"
shift 1
;;
esac
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment