在bash中$0
包含脚本的名称,但是在awk中,如果我使用以下内容创建名为myscript.awk的脚本:
#!/usr/bin/awk -f
BEGIN{ print ARGV[0] }
并运行它,它只会打印“ awk”。此外,i> 0的ARGV [i]仅用于命令行中的脚本参数。那么,如何使其打印脚本名称,在本例中为“ myscript.awk”?
mawk
Ubuntu上的默认设置?在我的15.04 VM上,默认awk
值为gawk
。安装mawk时,它不是默认设置。
awk -f myscript.awk
。但是,这与所讨论的问题无关。
awk
脚本,因为它以开头#!/usr/bin/awk -f
。Shell脚本以#!/bin/sh
(或类似的东西)开头。
awk -f file
。