gpt4 book ai didi

python - 正则表达式或在 python 中拆分为 shell awk 等价物

转载 作者:太空狗 更新时间:2023-10-30 02:25:38 25 4
gpt4 key购买 nike

我有一个代理版本文件,需要对其进行解析以获取应用程序版本详细信息。版本文件/opt/app_folder/agent_version.txt的(示例)内容如下:

Version: 10.2.4.110
Pkg name: XXXX-10.2.4-Agent-Linux-x86_64
Revision: 110
Patch version: 23

我需要输出作为 Version 的第一个 3 个数字和 Release version 的数字。例如:

Current Version: 10.2.4.23

所以,我使用下面的方法在 shell 中使用 awk

实现了这一点
FILE=/opt/app_folder/agent_version.txt

my_ver=`awk -F[:.] '/Version/ {gsub(" ",""); print $2"."$3"."$4}' ${FILE}`
OR
my_ver=`awk -F[-] '/Pkg/ {print $2}' ${FILE}`

my_patch=`awk -F[:.] '/version/ {gsub(" ",""); print $NF}' ${FILE}`
my_cur_ver="$my_ver.$my_patch"

echo $my_cur_ver
10.2.4.23

我如何在 Python 中实现这个结果?使用正则表达式或拆分或两者的组合?

我在 RHEL 6.2 x86_64 上使用 Python 3.3

最佳答案

遵循 awk 可能会对您有所帮助。

awk '/Version/{split($NF,a,".");next} /Patch version/{print a[1],a[2],a[3],$NF}' OFS="."  Input_file

输出如下。

10.2.4.23

关于python - 正则表达式或在 python 中拆分为 shell awk 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48504316/

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