Well I think the follow code will help you
for i in *;do mv "$i" "${i/\&/} done;
-So basically the for loop runs through every file in that particular
directory.
-Uses the "mv" command to rename files, the second statement is just
search and replace
-The "/\&/" means I want to search the term "&" and replace it
with "something".
-NOTE: the "\" infront of the "&", because you need to escape special
symbols such as "%" "-" etc ...
-After the second "/" in the search and replace term you can put
whatever you want...
eg.) if I wanted to replace "&" with "HELLO" the move command will
be:
mv "$i" "${i/\&/HELLO}"
Hope this helps :)
Chris
On Dec 21, 5:15 pm, tuxsun1 <[email protected]> wrote:
> I have always used Bash variable substitution chars (#, ##, %, %%) to
> rename files when replacing the beginning or end of a filename.
>
> Now I have a need to replace the middle portion of filenames from their
> html code, '&', to 'and'.
>
> e.g. list of filenames
>
> Payables & Receivables
> Sales & Marketing
> Shipping & Receiving
>
> Normally, I would use something like, for i in '*&*'; do mv "$i"
> (this is where I'm stumped); done
>
> TIA!
--
You received this message because you are subscribed to the Linux Users Group.
To post a message, send email to [email protected]
To unsubscribe, send email to [email protected]
For more options, visit our group at
http://groups.google.com/group/linuxusersgroup