I'll do that. Thanks, JTF! JTF wrote: > 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
