所有,我想使用 AWK 将下面的字符串拆分为第一部分。
如何编写AWK表达式?
#!/bin/bash
function parsePackageName()
{
#....... here I want to get the String "pp-demo-mid"
# from "pp-demo-mid-1.0-212.noarch"
}
示例输入:
pp-demo-mid-1.0-212.noarch
pp-1.0-212.noarch
pp-xx-1.0-212.noarch
期望的输出:
pp-demo-mid
pp
pp-xx
这意味着,我需要解析版本号之前的第一部分。
最佳答案
有这样的事吗?它在第一个数字处分割字符串。
awk -F"-[0-9]" '{print $1}' file
pp-demo-mid
pp
pp-xx
或者您可以更具体,并在第一个 -x.x 之后进行划分,其中 x 是一个数字
awk -F"-[0-9][.][0-9]" '{print $1}' file
关于regex - 使用awk获取子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19088135/