look into PyRenamer.  It is a python project and it works well.


On Dec 21, 5:29 pm, tuxsun1 <[email protected]> wrote:
> chutsu,
>
> Yes, you were clear.  I wasn't.... My sentence was missing a word, so it
> didn't make sense to you.
>
> As for the anomaly of the trailing slash, I turned out to be wrong. Your
> syntax of leaving off the trailing slash is the only syntax that worked
> for me.  The substitution syntax of
> /<search-string>/<replacement-string/ as used by sed and vim gave errors
> until I left off the trailing slash.
>
> For anyone else that needs to rename part of a filename, here's an
> example that worked for me--thanks to chutsu's suggestions and help:
>
> #"for i in *\&amp*" limits the list of filenames passed to the mv
> command to ONLY filenames containing '&amp'.
> #
> #mv "$i" "${i/\&amp;/and}" replaces '&amp;' with 'and' in each filename
> passed to it.
>
> for i in *\&amp*; do mv "$i" "${i/\&amp;/and}"; done
>
> ------------------------------
>
> chutsu wrote:
> > Because if you remember, at the start of the for loop:
>
> > for $i in *
>
> > which I declared a bash variable called "i", and what ever it finds
> > (filenames), the filename will be assigned to "i", then later on I
> > used "i/search/replace" to say in variable "i" search and replace....
>
> > Hope my explanations where clear!
>
> > On Dec 21, 6:12 pm, chutsu <[email protected]> wrote:
>
> >> I think so... lol.. am not too sure what you mean, but the "i" just
> >> means that your taking what ever filename the for loop is currently
> >> handling, and doing a search and replace on variable "i".
>
> >> On Dec 21, 6:08 pm, tuxsun1 <[email protected]> wrote:
>
> >>> I may have replied too hastily. The 'i' is the original variable your
> >>> using a regex substitution form, is that it?
>
> >>> chutsu wrote:
>
> >>>> Well I think the follow code will help you
>
> >>>> for i in *;do mv "$i" "${i/\&amp/} 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 "/\&amp/" means I want to search the term "&amp" 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 "&amp" with "HELLO" the move command will
> >>>> be:
>
> >>>> mv "$i" "${i/\&amp/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, '&amp;', to 'and'.
>
> >>>>> e.g. list of filenames
>
> >>>>> Payables &amp; Receivables
> >>>>> Sales &amp; Marketing
> >>>>> Shipping &amp; Receiving
>
> >>>>> Normally, I would use something like, for i in '*&amp*'; 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

Reply via email to