From: Mark Hubbart Date: 2005-06-23T01:09:18+09:00 Subject: Re: Newbee: recursively converting LF to CRLF and vice versa On 6/22/05, Elliott wrote: > Hello, > > I'd like to recursively go through a bunch of directories and for text > file - convert any linefeed (LF) endings to carriage return line feeds > (CRLF). Ideally, I'd like to be able to do the conversion either way > and to distinguish from binary files (so that I don't bother doing any > changes to these files). Lastly, I'd like to package this utility as > a standalone .exe for windows for systems that don't have ruby on it. > > I'm slowly going through the Picaxe book but I need to get this > utility done and I'd like to do it in Ruby if possible, rather than > resort to some other thing like Java (gasp). Can anyone provide me > some hints or at least some pointers to parts of Picaxe from which I > could assemble this functionality. > > Anything info would be appreciated. A few things to look at: - The Find module searches recursively in directories, calling your block of code for each file. Find it in the reference section. - Scan for control characters in the file contents to determine (usually) if it is binary or not. You could use a Regexp like /[[:cntrl:]]/, which matches a single control character. - The standalone exe can be made using RubyScript2EXE (by Erik Veen). Find more info at http://www.erikveen.dds.nl/rubyscript2exe HTH, Mark