[PLUG] Mass Removal of White Space in File Names
Rogan Creswick
creswick at gmail.com
Mon Apr 18 00:00:52 UTC 2011
On Sun, Apr 17, 2011 at 4:44 PM, Rich Shepard <rshepard at appl-ecosys.com> wrote:
> I have two directories of images where each file name has spaces between
> the words. I'm not having success writing a shell script that takes each
> name in sequence, removes the white spaces, and leaves the extension as-is.
> I'm certain that this can be done in perl, python, ruby, scheme, awk, sed,
> and so on. I believe that a shell script would be a one-liner.
There is as perl script called 'rename' that makes this very easy:
$ rename 's/ //g' Some\ File\ Name.ext
Will take the spaces out (destructively, so be careful. I don't know
how it handles filename conflicts that may arise, I suspect not
gracefully.). Combined with find and xargs, you can apply it to a
whole directory tree (I haven't tested the following line though, so
beware of typos/etc..):
$ find <path> -type f | xargs rename 's/ //g'
On debian my debian system, 'rename' is a symlink to
/etc/alternatives/rename, which points to /usr/bin/prename, which
apt-file says came with perl. If you don't have 'rename', try
'prename'.
There are also probably other programs called rename. This is what I
get if I run 'rename' with no arguments:
$ rename
Usage: rename [-v] [-n] [-f] perlexpr [filenames]
--Rogan
>
> Suggestions appreciated.
>
> Rich
> _______________________________________________
> PLUG mailing list
> PLUG at lists.pdxlinux.org
> http://lists.pdxlinux.org/mailman/listinfo/plug
>
More information about the PLUG
mailing list