2013-11-21 35 views
0

我試圖將一些cmd腳本轉換爲生成文件,但沒有成功。 腳本是:如何通過生成文件讀取文件中的第三個字符串

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 我在尋找重大,得到4

我的問題是如何做到這一點makefile中。

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

如果我做了,只是包含

#define MAJOR 4 

,你可以遍歷一個小測試文件:

+1

製造自動化軟件;它不是針對處理任何形式的文件。但是,您可以從makefile啓動任何外部程序(包括您的cmd腳本)。 – keltar

回答

1

如果這些線始終具有相同的結構,你可以使用awk這樣來做每行,爲你想要的標記進行grepping,然後用awk獲取第三個值。請注意,您需要雙重$以避免字符串擴展make

相關問題