我环顾四周,发现只有涉及该主题的问题或为我提供的答案不起作用。这是问题:
我正在为学校做一项作业,该作业要求我阅读 awk 脚本的命令行参数(一开始似乎很奇怪,但是嗯)。我们使用的是旧版本的 Unix,而我正在运行 Bash。此 awk 只有 -f 和 -Fc 选项。基本上,我一直在尝试执行“awk -f awk_script arg1 arg2 arg3 arg4 arg5 arg6”,但每次 awk 都尝试将 arg1 作为文件打开,但事实并非如此。我在其他地方看到的一个例子是:
awk 'BEGIN { print "ARGV[1] = ", ARGV[1] }' foo bar
它应该打印“foo”,但在这个系统上我只得到输出“ARGV[1] = awk: can't open foo”。所以,总而言之,有没有办法解决这个问题?可以 awk 这个旧的读取命令行参数并将它们用于输入文件以外的任何内容吗?讲师注释文件暗示了上述用法(打印 foo),但他的程序甚至没有运行,所以......
任何帮助将不胜感激。
编辑后:使用 SunOS 5.10 并且此 awk 不支持 -v 选项,仅支持 -f 和 -Fc