来自 awk 编程语言
awk [ -Fs] 'program' optional list of filenames awk [ -Fs] -f progfile optional list of filenames
选项 -Fs 将字段分隔符变量 FS 设置为 s。如果没有文件名,则读取标准输入。 文件名可以采用 var=text 的形式,在这种情况下,它被视为对变量 var 的文本赋值,在该参数作为文件访问时执行。
在 Gawk 中,我看到变量赋值是在 option 之后指定的-v
。我想知道不带选项的引用中描述的内容是否-v
仍然适用于 Gawk?
谢谢。
答案1
是的。
该变量在块中不可用,因为赋值发生在“当该参数作为文件被访问时”,但这与所有其他实现BEGIN
相同。awk
$ echo 'input data' | gawk -vvar1="hello" 'BEGIN { print var1, var2 } { print $0, var1, var2 }' var2='world!'
hello
input data hello world!