Regex 在bash中查找行中的特定字符
是否有一种方法可以在bash中使用正则表达式从一行文本中提取特定部分 比如说Regex 在bash中查找行中的特定字符,regex,linux,bash,shell,Regex,Linux,Bash,Shell,是否有一种方法可以在bash中使用正则表达式从一行文本中提取特定部分 比如说 8495 pts/1 S 0:10 /opt/sbin/proc -q 10 -p /opt/etc/plugin/ -c /opt/etc/ -f 200000 -s 10000 -b 3276 如何从上面提取q参数10?。我需要q参数后面的数字原始解决方案正则表达式应该是*-q([^]*).。因此,类似于sed的s/*-q([^]*)./\1/'的东西应该可以解决这个问题。如果行存储在变量$line中: px a
8495 pts/1 S 0:10 /opt/sbin/proc -q 10 -p /opt/etc/plugin/ -c /opt/etc/ -f 200000 -s 10000 -b 3276
如何从上面提取q参数10?。我需要q参数后面的数字原始解决方案正则表达式应该是
*-q([^]*).
。因此,类似于sed的s/*-q([^]*)./\1/'
的东西应该可以解决这个问题。如果行存储在变量$line
中:
px aux | sed -n 's/.*-q\s\([0-9]\+\).*/\1/p'
val=$(
this_token=false
for word in $line; do
$this_token && { echo $word; break; }
[[ $word = "-q" ]] && this_token=true
done
)
echo $val
这是在命令行上键入的吗?或者存储在文件中?@spencer它是ps aux的输出