如何通过makefile读取文件中的第3个字符串

时间:2013-11-21 16:33:22

标签: makefile

我正在尝试将一些cmd脚本转换为makefile但没有成功。 脚本是:

for /F "eol=* tokens=2,3*" %%i in (%VERSION_FILE_PATH%\VersionInfo.h,%VERSION_FILE_PATH%\Version.h) do (

    if %%i==%MAJOR% set MAJOR_VALUE=%%j
    if %%i==%MINOR% set MINOR_VALUE=%%j
    if %%i==%HOTFIX% set HOTFIX_VALUE=%%j
    if %%i==%BUILD% set BUILD_VALUE=%%j
)

脚本执行的操作是在每行中搜索特定字符串并获取后跟字符串。

例如:#define MAJOR 4 我正在寻找MAJOR并获得4。

我的问题是如何在makefile中执行此操作。

1 个答案:

答案 0 :(得分:1)

如果这些行总是具有相同的结构,你可以用awk这样做:

tester: 
    cat test | grep MAJOR | awk '{print $$3}'

我制作了一个只包含

的小测试文件
#define MAJOR 4

你可以循环遍历每一行,为你想要的标记加注,然后用awk获取第三个值。请注意,您需要双$来转义字符串扩展make