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 *\&*" limits the list of filenames passed to the mv > command to ONLY filenames containing '&'. > # > #mv "$i" "${i/\&/and}" replaces '&' with 'and' in each filename > passed to it. > > for i in *\&*; do mv "$i" "${i/\&/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/\&/} 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
