【问题标题】:Extracting numbers surrounded by parenthesis with grep用grep提取括号括起来的数字
【发布时间】:2017-03-19 23:55:57
【问题描述】:

我应该写什么来找到像(3894569)这样的子行?

我试过\\([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是进程的PID

$2 是文件名

【问题讨论】:

标签: linux ubuntu sed grep


【解决方案1】:

你使用了两次字符转义。删除 / 或 "。

例如:

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

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

【讨论】:

  • grep 默认使用BREs,其中,可能出乎意料的是,( 必须转义为 \( 才能被识别为正则表达式元字符。
  • 避免使用双引号,除非需要替换
猜你喜欢
  • 2012-10-01
  • 2021-10-14
  • 1970-01-01
  • 1970-01-01
  • 2021-05-13
  • 1970-01-01
  • 2021-09-21
  • 1970-01-01
  • 2015-04-19
相关资源
最近更新 更多