|
replacing values in some files: line endings etc: msg#01041lang.ruby.general
Hi, on Windows, I need to replace some values in a file; see the program below. 1. ff The file is in Unix fileformat; but when Ruby wrote to it, there are DOS line endings instead of Unix one, AFAICS. That's what I think what happens. What I see is: I open the file in Vim (which is ff=unix); everything looks fine. I run the Ruby program, then Vim prompts me to relaod the file; after this, every line ends in ^M. When I reopen the file in Vim, everything looks OK again; I think Vim converts the dos line endings automatically since I have set ff=unix in my vimrc. I really would prefer if Ruby would only gsub the stuff I ask it to, not the line endings. 2. gsub How could I match a longer string, but replace only a part of it? eg ~ string.gsub! /<(embed|object).+?width="\d+"/, "width=\"#{w}\"" ... but the <object etc should stay. 3. Golf What's a shorter / more elegant version of the program? s.th. in the style of: grep /dimensions/, sed s/old/new/ Tobi ######################################## SVG = 'links.svg' d = Dir.new './' HTMLs = d.grep /^svg.*\.html$/ def get_new_dimensions open(SVG) do |svg| svg.read.scan \ /<svg\s+width="(.+?)"\s+height="(.+?)"/m [($1.delete'px'),$2.delete'px'] end end w,h = get_new_dimensions HTMLs.each do |html_file_name| string = open(html_file_name) do |html_file| html_file.read end # how to write these in one (gsub) line? string.gsub! /width="\d+"/, "width=\"#{w}\"" string.gsub! /height="\d+"/, "width=\"#{h}\"" open(html_file_name,'w') do |html_file| # changes line endings :( html_file.write string end end ######################################## -- http://www.pinkjuice.com/
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | RE: Fun with shifting bytes / Python translation, Firestone, Mark - Technical Support |
|---|---|
| Next by Date: | Re: replacing values in some files: line endings etc, Tobias Reif |
| Previous by Thread: | Handling forms on database driven websites, Philip Mak |
| Next by Thread: | Re: replacing values in some files: line endings etc, Tobias Reif |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |