如何从grep获取组值?

时间:2016-11-17 01:49:43

标签: regex grep

我需要从grep命令中获取值。例如:

netstat -ntlp | grep 8000

输出:

tcp6 0 0 :::8000 ::: LISTEN 975/(squid-1)

我想从输出中获得975,所以我再次使用了这个命令:

netstat -ntlp | grep 8000 | grep -oP '\d{1,4}\/'

结果如下:

975/

然后,如果我想在一个命令中获得975,我应该使用它:

netstat -ntlp | grep 8000 | grep -oP '\d{1,4}\/' | grep -oP '\d{1,4}'

这将得到我想要的[975],但我不想使用grep -oP | grep -oP。我可以像这样使用grep -oP和group(1):

netstat -ntlp | grep 8000 | grep -oP '(\d{1,4})\/' | grop(1)获得975?

有人可以告诉我如何在grep中获取组值吗?感谢。

1 个答案:

答案 0 :(得分:0)

尝试以下:

echo 'tcp6  0   0 :::8000  ::: LISTEN  975/(squid-1)' | grep -oP '\d{1,4}(?=\/)'