2016-11-06 20 views
-2

このようなサブラインを見つけるにはどうすればよいですか(3894569)括弧で囲まれた数字をgrepで囲む

私は\\([0-9]*\\)

を試してみましたが、それは、例えば

wiluefh/u3:2(920) 

ラインでは私が改善しなければならないものだけを920そうしたい32920

を見つけましたか?

私の仕事は、awkpstreeを使ってプロセスとサブプロセスのPIDを表示することでした。私はこの

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

$1を試してみました

は、プロセスのPID

$2あなたは二回エスケープ文字を使用

+0

あなたがしようとしたコマンドやいくつかのより便利なサンプル入力データと出力データを表示してくださいpstreeコマンド行で –

+0

私はすべてのサブ行を印刷したい:。(一部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)おそらく期待に反して、 '('正規表現メタキャラクタとして認識されるためには '\('としてエスケープする必要があります。 – mklement0

+0

置換の必要がない限り二重引用符を避ける – Sundeep

関連する問題