# test.mk
test:
echo a b c | awk '{print $2}'
导致以下结果:(在ubuntu和osx上)
$ 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
尝试了几种组合。和"但是无法弄清楚如何让make打印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 :(得分: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