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...
![LightFace: Facebook Lightbox for MooTools]()
One of the web components I've always loved has been Facebook's modal dialog. This "lightbox" isn't like others: no dark overlay, no obnoxious animating to size, and it doesn't try to do "too much." With Facebook's dialog in mind, I've created LightFace: a Facebook lightbox...
![GitHub-Style Sliding Links]()
GitHub seems to change a lot but not really change at all, if that makes any sense; the updates come often but are always fairly small. I spotted one of the most recent updates on the pull request page. Links to long branch...
![Create Spinning, Fading Icons with CSS3 and 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