<div dir="ltr"><br><br><div class="gmail_quote">On Wed, Sep 3, 2008 at 10:16 AM, David L. Willson <span dir="ltr">&lt;<a href="mailto:DLWillson@thegeek.nu">DLWillson@thegeek.nu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I&#39;m trying to capture and return only the IP address from a line of text. &nbsp;I can match<br>
it, but something&#39;s wrong with the way I&#39;m trying to capture it. &nbsp;Any thoughts?<br>
<br>
dlwillson@aurora:~<br>
$ grep newwave hosts | grep -E --color &#39;([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}&#39;<br>
<a href="http://69.88.86.210" target="_blank">69.88.86.210</a> newwaveenviro<br>
<br>
^ That line does successfully color the IP address.<br>
<br>
dlwillson@aurora:~<br>
$ grep newwave hosts | sed -e &#39;s/(([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3})/\1/p&#39;<br>
sed: -e expression #1, char 48: invalid reference \1 on `s&#39; command&#39;s RHS<br>
dlwillson@aurora:~<br>
$ grep newwave hosts | sed -e &#39;s/(([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3})/\0/p&#39;<br>
<a href="http://69.88.86.210" target="_blank">69.88.86.210</a> newwaveenviro<br>
dlwillson@aurora:~<br>
$ grep newwave hosts | sed -e &#39;s/(([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3})/\1/p&#39;<br>
sed: -e expression #1, char 48: invalid reference \1 on `s&#39; command&#39;s RHS<br>
dlwillson@aurora:~<br>
<br>
Huh...<br>
<br></blockquote></div><br>
I don&#39;t know why sed wouldn&#39;t work but perl should.<br><br>
Try something like<br>
<br>
perl -lne &#39;print if s/((\d{1,3}\.){3}\d{1,3}).*\ newwaveenviro\ *.*/\1/&#39; /etc/hosts<br>
<br>
-jacob</div>