我使用以下 #! 为 gawk 创建可执行脚本:
#!/usr/bin/gawk -f
但是,如果我想启用区间正则表达式,我似乎无法在 #!中添加--re-interval
或添加。-W re-interval
#!/usr/bin/gawk --re-interval -f
#Above doesn't work
有没有办法让脚本在没有命令行参数的情况下激活此选项,或者有更好的方法输入参数以使其工作?
如果这对您的解决方案很重要,我正在使用 cygwin
这是不可能的。有关原因和替代方法,请参见http://hibernia.jakma.org/~paul/awk-faq.html#script-args 。
如何在 bang-path 中将选项传递给 AWK?
简短的回答是你不能,因为内核不会解析超出脚本名称的 bang-path。该行的其余部分在第二个参数中作为单个字符串传递。即这不起作用:
#!/path/to/gawk --posix --re-interval -f
....awk 脚本..
相反,请使用 shell 脚本,例如:
#!/bin/bash
gawk --posix --re-interval -v foo=$1 '
BEGIN { print foo } '