我目前在FreeBSD中使用grep,但似乎FreeBSD不支持Perl RegEx。我想知道下面的版本是什么,它可以在FreeBSD中使用' basic'表达式:
grep -Po "(?<=addr.)[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*"
答案 0 :(得分:2)
为什么不使用perl
- 它可能是默认安装的。
perl -ne 'print $1 if m/(?<=addr.)([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*)/'
当然,在那一点上你可能也不需要再看看了。
perl -ne 'print join ("\n", m/addr.(\d+\.\d+\.\d+\.\d+)/)'
答案 1 :(得分:0)
我会使用sed
但如果存在多个IP地址,则以下命令将不起作用。
$ echo '65 addr.567.67.879.89 foo bar' | sed -n "s/.*addr\.\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*/\1/p"
567.67.879.89