regex - AWK SHELL 将值从 shell 传递到 AWK

标签 regex linux shell unix awk

我需要将特定值从 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/

相关文章:

python - 如何在文件中列出的文件中查找来自文件的单词?

linux - Grep 多个乱序的东西

c++ - 为什么 perf -e cpu-cycles 在多次运行时报告不同的答案?

linux - perl、系统函数和运行外部命令

R:解析嵌套括号

linux - SCP从远程服务器传输在特定时间后修改的文件

linux - 在前台启动进程时在 Shell 脚本中获取进程 ID

regex - 从 grep Perl 风格的正则表达式语法到实际的 Perl 正则表达式模式匹配

javascript - 正则表达式如何匹配日期时间字符串特定字符的前2个实例

python - 写入 .CSV 文件时出现问题?