Date: Sun, 10 Sep 2017 20:18:38 +0200 From: Polytropon <freebsd@edvax.de> To: Ernie Luzar <luzar722@gmail.com> Cc: "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org> Subject: Re: awk help Message-ID: <20170910201838.88b15b21.freebsd@edvax.de> In-Reply-To: <59B53ED2.3000409@gmail.com> References: <59B53ED2.3000409@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 10 Sep 2017 09:32:02 -0400, Ernie Luzar wrote: > Hello list; > > I wrote the following script to read a hosts file I downloaded > containing known bad sex domain names intended for addition to > /etc/hosts file. This script drops some useless records and builds > a local-zone: record for input to unbound. The file contains 55,000 > records and this script takes 7 minutes to process it. > > I know awk can do this same thing must faster. I have searched awk > and can not find any reference that would do what the tr '\r' ' '` > command does. I'd simply drop the ^Ms in a first step, then continue processing with awk, writing the output to the desired file: #!/bin/sh cat input.txt | tr -d '\r' | awk ' # ... # your awk code here # ... ' > output.txt You can use variables or command line parameters for input.txt and output.txt to increase modularity. NB: Useless use of "cat". ;-) > Would some one point me to documentation with example of how to get > the same result with awk as the tr '\r' ' '` command does. Why do you want to replace the \r with a space? Just delete it, nobody (except people in "Windows" land) actually need it! :-) -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170910201838.88b15b21.freebsd>