Remove Spaces from File Names
Spaces in file names are a nightmare with the web; you deal with %20
and other nonsense when spaces are in file names. That's why when I receive images with spaces I cringe; I mean hell, dealing with spaces of file systems sucks too.
Anyways, I use the following command to remove spaces in file names within a directory:
# Replace spaces in file names with "-"
for f in *\ *; do mv "$f" "${f// /-}"; done
In this case I replace spaces with a dash. You can omit the dash if you'd rather there be nothing in place of spaces; underscores is another common pattern.
This script is not recursive, so it wont dive into subdirectories -- I don't usually have that case.
![Being a Dev Dad]()
I get asked loads of questions every day but I'm always surprised that they're rarely questions about code or even tech -- many of the questions I get are more about non-dev stuff like what my office is like, what software I use, and oftentimes...
![Conquering Impostor Syndrome]()
Two years ago I documented my struggles with Imposter Syndrome and the response was immense. I received messages of support and commiseration from new web developers, veteran engineers, and even persons of all experience levels in other professions. I've even caught myself reading the post...
![CSS Tooltips]()
We all know that you can make shapes with CSS and a single HTML element, as I've covered in my CSS Triangles and CSS Circles posts. Triangles and circles are fairly simply though, so as CSS advances, we need to stretch the boundaries...
![Form Element AJAX Spinner Attachment Using jQuery]()
https://gist.github.com/dbswebsite/f7ff88850dcf01fdafab5e66186cbdec
I *looooove* this! Nice work!
Is there a way to reverse this process? I get file names from the web that have no spaces. I want to put them back in. For example: HowToCookATurkey.txt would return to How To Cook A Turkey.txt
I haven’t found any of the renaming programs out there that tell you how to do it. Thanks in advance.
you’re a lifesaver! thx!
New to coding so need some help. Trying to figure out how to edit you code to work for my issue. Have a file, “Outfile-ABC-123 456 789.txt” in a directory, “//dev/out/file/” which has empty spaces in the file name which I need to replace the them with “0” or delete them all together whichever is simpler. Is the code below correct to help resolve my issue? Thanks in advance.
Before: “Outfile-ABC-123 456 789.txt”
After: “Outfile-ABC-12304560789.txt” or “Outfile-ABC-123456789.txt”
My version of your code edited.
for “Outfile-ABC-*” in (“\\Dev\Out\File\”;) do (mv “$Outfile-ABC-*” “${Outfile-ABC-*// /0}”); done