2016-11-06 46 views
-2

我应该写些什么来寻找这样的子线(3894569)用grep提取括号括起来的数字

我已经试过\\([0-9]*\\)

但是,例如在线路

wiluefh/u3:2(920) 

发现32920

我只想920所以我一定要提高?

我的任务是使用awkpstree来打印进程和子进程的PID。

我已经试过这

ps -aux | grep $1 | awk '(system("pstree -p " $2))' | grep -oh "\ ([0-9]*\\)" > $2 

$1是过程

$2的PID是文件名

+0

请出示您尝试的命令和一些有用的样本输入和输出数据 –

+0

在pstree行我想打印所有的子行。(一些nambers) –

+0

它们包含进程或子进程的PID –

回答

0

您使用字符转义两次。删除/或”

例如:

grep -oh "([0-9]*)" 

grep -oh \([0-9]*\) 
+1

'grep'使用[BREs](http://pubs.opengroup.org/ onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03)by默认情况下,可能违背期望,'('必须转义为'\('为了被识别为正则表达式元字符。 – mklement0

+0

避免双引号,除非需要替换 – Sundeep