gpt4 book ai didi

regex - 使用 sed 和正则表达式从字符串中提取数字

转载 作者:行者123 更新时间:2023-12-03 01:28:53 24 4
gpt4 key购买 nike

向 sed 专家提出的另一个问题。

我有一个表示路径名的字符串,其中包含两个数字。一个例子是:

./pentaray_run2/Trace_220560.dat

我需要提取这些数字中的第二个 - 即 220560

我(在论坛的一些帮助下)能够通过以下方式提取所有数字(即 2220560):

sed "s/[^0-9]//g"

或仅提取第一个数字:

sed -r 's|^([^.]+).*$|\1|; s|^[^0-9]*([0-9]+).*$|\1|'

但我要的是第二个数字!!非常感谢任何帮助。

PS,我要查找的数字始终是字符串中的第二个数字。

最佳答案

这样可以吗?

sed -r 's/.*_([0-9]*)\..*/\1/g'

以你的例子:

kent$   echo "./pentaray_run2/Trace_220560.dat"|sed -r 's/.*_([0-9]*)\..*/\1/g'
220560

关于regex - 使用 sed 和正则表达式从字符串中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12974162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com