我需要传递一个特定的值从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会将其与我将指向的文件进行比较,但我不能这样做。
你知道怎么做吗?
谢谢你
发布于 2012-04-23 01:41:25
你应该能够使用"awk -v“。例如,"awk -v city=$3...“
较新版本的awk也应该支持"ENVIRON[]“数组。
这两个选项都在这里讨论:
http://unix-school.blogspot.com/2011/09/awk-passing-arguments-or-shell.html
https://stackoverflow.com/questions/10270340
复制相似问题