想知道是否可以从文本文件中的字符串中提取版本号。(Windows& Linux)
例如,文本文件包含,
some_soft-9.1.2-windows.zip
some_soft-9.2.2-windows.zip
some_soft-10.0.1-windows.zip
some_soft-10.1.2.3-windows.zip
然后输出命令只能获得
9.1.2
9.2.2
10.0.1
10.1.2.3
因此可以处理这些版本号以下载最新或所需的应用程序版本。
答案 0 :(得分:1)
使用正则表达式提取它们
([0-9]+.){2,}[0-9]+
答案 1 :(得分:0)
是的,这是可能的,并不难做到。尝试做一些关于如何拆分字符串的研究。在您的情况下,只需将字符串拆分为“ - ”并获取第二个元素。
答案 2 :(得分:0)
如果你可以使用perl,这个单行脚本可以完成这项任务:
perl -pe '($_)=/([0-9]+([.][0-9]+)+)/'
使用bash的示例:
$> V=$(perl -pe '($_)=/([0-9]+([.][0-9]+)+)/' <<< 'some_soft-9.1.2-windows.zip')
$> echo "$V"
9.1.2
$> echo 'A2 33. Z-0.1.2.3.4..5' | perl -pe '($_)=/([0-9]+([.][0-9]+)+)/'
0.1.2.3.4
注意此perl命令行提取版本号而不回车。
另请参阅this other SO answer providing many examples and more perl
scripts depending on your context。