2016-08-12 55 views
1
# test.mk 
test: 
    echo a b c | awk '{print $2}' 

結果如下:(兩個Ubuntu和OSX)如何使用awk在makefile中通過編號打印列?

$ make -f test.mk 
echo a b c | awk '{print }' 
a b c 

代替:

$ make -f test.mk 
echo a b c | awk '{print $2}' 
b 

嘗試的幾種組合「和」卻又無法弄清楚如何讓字面打印$ 2,awk替換第二欄

我有這兩個解決方法:

# test.mk with workaround #1 
test: 
    test.sh 

# test.sh 
echo a b c | awk '{print $2}' 

......還有......

# test.mk with workaround #2 
test: 
    echo a b c | cut -f2 -d" " 

但我很好奇,看看是否有把AWK直入.mk文件

注的方式:如果你正在粘貼這些.mk示例中的任何一個,您可能必須將空格縮進轉換爲製表符。

回答

0

Why does AWK not work correctly in a makefile?包含答案

我沒碰到過它來當我最初尋找一個答案,但我發現它的「相關」部分我張貼後。對於任何好奇的人:

# test.mk 
test: 
    echo a b c | awk '{print $$2}' 

$ make -f test.mk 
echo a b c | awk '{print $2}' 
b