【问题标题】:How to use awk in Makefile?如何在 Makefile 中使用 awk?
【发布时间】:2017-03-03 06:51:10
【问题描述】:

我有一个 Makefile,它需要使用 awk 从文本文件 `someText.txt 中提取一些信息。这是一个例子:

在控制台中手动对我的文本文件执行 awk 效果很好:

$ cat someText.txt | awk '/Total number:/ {print $NF}'
$ 42

但在我的 makefile 中使用它不起作用:

MYVAR=$(shell cat someText.txt | awk '/Total number:/ {print $NF}')
all:
    @echo Count: $(MYVAR)

输出为:Count:

但我建议输出是Count: 42

【问题讨论】:

  • 顺便说一句,您还想避免useless use of cat
  • TL;DR 你需要将每个 $$ 加倍,这应该传递给 shell。
  • triple 暗指这个...awk '/Total number:/ {print $NF}' someText.txt
  • 是的,就是这样。我忽略了大括号内的美元。使用 {print $$NF} 效果很好。

标签: shell awk makefile


【解决方案1】:

MYVAR=$(shell cat someText.txt | awk '/Total number:/ {print $$NF}')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-26
    • 2014-09-04
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    相关资源
    最近更新 更多