Bash Snippets
Filenames
Lowercase all filenames
As this post notes, all filenames can be made to be lowercase by running the following within the specified directory:
for f in *; do mv "$f" "$f.tmp"; mv "$f.tmp" "`echo $f | tr "[:upper:]" "[:lower:]"`"; done
Rename files in a random numeric fashion
As this post notes, the $RANDOM
environment variable can be used -- it generates random values between 0
and 32767
.
A simple for
loop in bash works fine (the examples below target .jpg
file types, but these examples can be modified as appropriate):
for i in *.jpg; do mv -i "$i" ${RANDOM}.jpg; done
If you have a ton of files (e.g., more than 1000), then the following might be a better strategy:
for i in *.jpg; do mv -i "$i" ${RANDOM}${RANDOM}.jpg; done
Note that you could also do something like the following to preserve old information in the filename, if desired (the only difference is changing ${RANDOM}${RANDOM}
to ${RANDOM}-$i
, where $i
preserves the original filename):
for i in *.jpg; do mv -i "$i" ${RANDOM}-$i.jpg; done