2016-11-06 84 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