包含数字

问题描述

我想grep获取具有变量的进程路径。范例- 这是运行过程之一。

/var/www/vhosts/rcsdfg/psd_folr/rcerr-m-deve-udf-172/bin/magt queue:consumers:start customer.import_proditns --single-thread --max-messages=1000

我想从正在运行的进程中为“ psd_folr / rcerr-m-deve-udf-172 / bin / magt队列” 进行grep。 问题是数字172一直在变化,但是它只会是3位数字。请建议,我在下面尝试过,但未返回任何输出。

sudo ps axu | grep "psd_folr/rcerr-m-deve-udf-'^[0-9]$'/bin/magt queue"

解决方法

正则表达式中最相关的部分是-'^[0-9]$'/,它存在以下问题:

  • 除了读撇号
  • ,撇号对grep没有句法含义
  • 插入符号^与行的开头匹配,但是ps的输出中此位置没有行的开头
  • 美元$与行尾匹配,但是ps在此位置的输出中没有行尾
  • 您想读取3位数字,但是[0-9]仅匹配一个数字

因此,应该像这样-[0-9]+/来修改表达式的部分,以匹配任意数量的数字(+匹配前一个字符多次,但至少匹配一次),或者像这样{{ 1}}精确匹配三遍(-[0-9]{3}/与前面的字符精确匹配{n}次)。

如果您更改命令,请给n grep标志,使其使用扩展的正则表达式,否则您需要转义加号或花括号:

-E

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...