> I need to do the following: > > Take a list of various strings, one of which is a quoted IP address, and > extract the IPs. (Done that.) > > Then take the list of IPs and convert them to a list of IPs with masks on > a > single line. > > IOW, I have converted the original list to this: > > x.x.x.x > x.x.x.x > x.x.x.x > x.x.x.x > > Now I need to remove the newlines and add /32, to the end of each IP so > that I > have this: > x.x.x.x/32,x.x.x.x/32,x.x.x.x/32,etc. > > I got close with sed, but I'm not quite there. > > I got this: > > x.x.x.x/32,x.x.x.x > x.x.x.x/32,x.x.x.x > x.x.x.x/32,x.x.x.x > > Here's the code I used: > cat hostlist | cut -d',' -f2 | cut -d'"' -f2 | sort | uniq | grep -v > "inet" | > sed '/[^*]$/N;s/\n */\/32,/' > > What am I missing? you are missing 'tr' I guess;
chernogorsk:#cat /tmp/x x.x.x.x x.x.x.x x.x.x.x x.x.x.x chernogorsk:#cat /tmp/x | sed 's/$/\/32,/g'|tr -d "\r\n" > /tmp/x2; echo >> /tmp/x2 chernogorsk:#cat /tmp/x2 x.x.x.x/32,x.x.x.x/32,x.x.x.x/32,x.x.x.x/32, some fine tunning and getting rid of the trailing ',' you can add another sed pipe, etc.etc. ]Peter[ > > > > -- > Paul Schmehl ([EMAIL PROTECTED]) > Senior Information Security Analyst > The University of Texas at Dallas > http://www.utdallas.edu/ir/security/ > > _______________________________________________ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to > "[EMAIL PROTECTED]" > _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"