【发布时间】:2016-09-19 20:35:28
【问题描述】:
我正在尝试从我在 perl 脚本中读取的文件路径中提取一个 id(例如 11894373690) -
/my/local/projects/Samplename/analysis/test/output/tool1/11894373690_cast/A1/A1a/
我将进一步使用它创建一个新路径,如
/my/local/projects/Samplename/analysis/test/output/tool2/11894373690_NEW/
我无法仅从路径中提取 id,任何人都可以在 perl 中提出一个简单的方法。我绝对应该开始学习正则表达式! 谢谢。 我只能得到最后一个目录名
$file = "/my/local/projects/Samplename/analysis/test/output/tool1/11894373690_cast/A1/A1a/ ";
my ($id) = $file =~ /\.(A1[^]+)/i;
更新 - 对不起,我之前把“not”拼错了“now”!我无法提取 id。谢谢!
【问题讨论】:
-
你尝试了什么?你是怎么提取身份证的?用正则表达式?没有它?
-
取决于你的身份证。都是数字吗?总是后跟下划线?
-
您可以尝试使用在线正则表达式解析器来构建它regexplanet.com/advanced/perl/index.html
-
如果你想在 bash 中使用 sed,... echo "/my/local/projects/Samplename/analysis/test/output/tool1/11894373690_cast/A1/A1a/ " | sed -e 's|^.*/([0-9][0-9]*)_cast/.*$|\1|'
-
@yonyon100 我无法获得 id,抱歉,我在前面的问题中拼错了“not”,这改变了问题!