I have an hosts file and I need to group multiple lines into one, using Linux standard commands; starting with this:
JavaScript
x
127.0.0.1 name1
127.0.0.1 name2
127.0.0.1 name3
127.0.0.1 nameN
I want this:
JavaScript
127.0.0.1 name1 name2 name3
127.0.0.1 name4 name5 name6
127.0.0.1 nameN
The ip address is always the same, and I can easily remove it to simplify the work; the file can reach 30K+ lines, so my goal is to reduce its size using as few resources as possible (I’m working on a router with OpenWRT). Using tail and head I can get a group of lines, but then I don’t know how to put them on a single line (substite n with a space doesn’t seem to work).
Advertisement
Answer
How about this:
JavaScript
(sed 's/127.0.0.1 //' | fmt -w 25 | sed 's/^/127.0.0.1 /') < inputfile > outputfile