Replace a character in all filenames
The following command will search for files in the current directory (.
) that have in their name the colon character :
.
The files that match will then be renamed and all instances of the colon character :
in the names will be replaced by the full stop character .
.
find . -name "*:*" -execdir sh -c 'mv "$1" "${1//:/.}"' _ {} \;
-execdir command {} +
is like-exec
, but the specified command is run from the subdirectory containing the matched file, which is not normally the directory in which you started find.
Example: if you have a file named 2017-03-15 14:34:44.116002523.png
then it will be renamed to 2017-03-15 14.34.44.116002523.png
.