我在 Makefile 中嵌入了这个:
awk '/@/{print " \"" $$_ "\\n\"" }' file
我知道awk的原型(prototype)是:
awk 'pattern {action}' file
但是 @
和 $$_
是什么意思?
最佳答案
在这种情况下,下划线字符看起来只是一个变量。因为它没有被初始化,所以它的值为零。因此,$_
等同于 $0
,它指的是被处理的整行。我认为它也可以写成 $x
因为 x 是一个未初始化的变量。
由于它出现在 makefile 中,因此需要两个美元符号(它是 makefile 中的特殊字符)才能在命令中生成单个美元符号。
正如 Nemo 已经提到的,@
只是模式。任何包含 @
的行都会被匹配。
关于awk - 这个 awk 脚本有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6293790/