Re: extracting an IPv4 address from text?
- In reply to: Robert Huff : "extracting an IPv4 address from text?"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 02 Apr 2022 23:57:04 UTC
On 4/2/22 13:10, Robert Huff wrote: > > Hello: > Let's suppose I want to parse a line from auth.log and extract > the IP address (if any) to stdout. > I'm assuming there is a robust way to do this using standard > command-line tools ... but my brain is flailing on the exact method. > Anyone have a example they'd be willing to share? Or is this a > problem already solved? > > > Hopefully, > > > Robert Huff > Here is one way [1, 2]: 2022-04-02 15:20:35 toor@f3 ~ # cat /var/log/auth.log | perl -ne '/(\d{1,3}(\.\d{1,3}){3})/; print "$1\n"' | sort | uniq 192.168.5.11 192.168.5.13 192.168.5.220 192.168.5.76 Note that only the root user can read or write /var/log/auth.log. So, if a non-root process needs the information, one approach is to use sudo(8) [3]. David References: [1] https://www.oreilly.com/library/view/learning-the-unix/0596002610/ [2] https://www.oreilly.com/library/view/learning-perl-8th/9781492094944/ [3] https://mwl.io/nonfiction/tools#sudo