我需要将特定值从 shell 传递到 AWK 脚本文件,但我不知道我不能这样做。
#! /bin/bash
if [ "$2" = "-C" ] && [ "$3" != "" ]; then
awk -f SpecCity.awk $1
elif [ "$2" = "-C" ] && [ "$3" = "" ]; then
awk -f CityOnly.awk $1
fi
我需要将值 $3 传递给 AWK,AWK 会将它与我要指向的文件进行比较,但我不能这样做。
知道怎么做吗?
谢谢
最佳答案
您应该可以使用“awk -v”。例如,“awk -v city=$3...”
较新版本的 awk 也应该支持“ENVIRON[]”数组。
这里讨论了两种选择:
http://unix-school.blogspot.com/2011/09/awk-passing-arguments-or-shell.html
关于regex - AWK SHELL 将值从 shell 传递到 AWK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10270340/