如何从makefile字符串变量中提取模式

问题描述 投票:0回答:2

在Makefile中,我有一个变量DPDK_CUSTOM_REPO_VERSION,其定义如下:

DPDK_CUSTOM_REPO_VERSION="dpdk-19.08-devel"

如何从上述字符串中将19.08提取到另一个变量DPDK_VERSION

awk sed makefile
2个回答
1
投票

make-命令用于字符串处理的能力有限,但是您可以尝试以下操作:

用空格替换-的所有出现:

$(subst -, ,$(DPDK_CUSTOM_REPO_VERSION)

产生dpdk 19.08 devel并输入第二个单词:

$(word 2, $(subst -, ,$(DPDK_CUSTOM_REPO_VERSION)))

如果模式变化不大,则应该产生正确的结果。放到:

DPDK_CUSTOM_REPO_VERSION="dpdk-19.08-devel"
DPDK_VERSION=$(word 2,$(subst -, ,$(DPDK_CUSTOM_REPO_VERSION)))

test:
        echo $(DPDK_VERSION)

0
投票

您能不能尝试以下操作。

DPDK_VERSION=$(echo "$DPDK_CUSTOM_REPO_VERSION" | awk -F'-' '{print $2}')
© www.soinside.com 2019 - 2024. All rights reserved.