[ale] sed head scratcher

Jim Kinney jim.kinney at gmail.com
Tue Aug 4 14:05:34 EDT 2009


breakout the greybeards....


I have a pile of text lines that need to have a certain portion
transposed from upper case (windows dweebs did the hostnames) to lower
case.

So many lines like:

192.168.0.2 MACHINE102
192.168.3.4  MACHINE304 FredsBox
10.0.2.3   MACHINE599  TestingSystemB
etc

So varying IP address then varying spaces then upper case name with
digits then varying spaces and sometimes followed by other name with
mixed case.

I want to ONLY lower case the names after the IP address, not anything
else in the line.

Here's what I have so far:

cat /etc/hosts | sed '/ [A-Z]{7}[0-9]{1,3}/ y/[A-Z]/[a-z]/'

seems like it should work but it only replaces the 'A' with 'a' and it
does it anywhere in the line.

So I'm pulling info from http://www.grymoire.com/Unix/Sed.html#uh-49
and it talks about second word in this won't work unless I use
multi-line editing.

But multi-line editing makes NO SENSE in this context!!

I could have probably already solved this problem using a different
method/language/beer style but at this point I'm totally geeked out on
this and am being stubborn.

I appreciate any sed solutions to this.

-- 
-- 
James P. Kinney III
Actively in pursuit of Life, Liberty and Happiness


More information about the Ale mailing list