在Makefile中,我有一个变量DPDK_CUSTOM_REPO_VERSION
,其定义如下:
DPDK_CUSTOM_REPO_VERSION="dpdk-19.08-devel"
如何从上述字符串中将19.08
提取到另一个变量DPDK_VERSION
?
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)
您能不能尝试以下操作。
DPDK_VERSION=$(echo "$DPDK_CUSTOM_REPO_VERSION" | awk -F'-' '{print $2}')