0

我需要将特定值从 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,它会将它与我将指向的文件进行比较,但我不能这样做。

知道怎么做吗?

谢谢

4

1 回答 1

3

您应该能够使用“awk -v”。例如,“awk -v city=$3...”

较新版本的 awk 也应该支持“ENVIRON[]”数组。

这两个选项都在这里讨论:

http://unix-school.blogspot.com/2011/09/awk-passing-arguments-or-shell.html

于 2012-04-22T17:41:25.403 回答