2016-11-06 2 views
-2

Что я должен писать, чтобы найти подобные подсластители (3894569)?Извлечение чисел, окруженных скобками, с помощью grep

Я попытался \\([0-9]*\\)

, но, например, в строке

wiluefh/u3:2(920) 

находит 3 и 2 и 920

Я хочу только 920 так, что я должен улучшить?

Моя задача - распечатать PID процесса и подпроцесса, используя awk и pstree.

Я попытался это

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

$1 является PID процесса

$2 это имя файла

+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) по default, где, возможно, против ожиданий, '(' должен быть экранирован как '\ (', чтобы быть признанным метасимволом регулярного выражения. – mklement0

+0

избегать двойных кавычек, если это необходимо для замены – Sundeep

Смежные вопросы