variables - 将变量作为参数传递给 TCL 中的 awk 文件

标签 variables awk parameters tcl

我想将变量传递给 TCL 中的 awk 文件,这与下面的代码有点相似。有什么办法吗? //out.tr是输入文件,要传递的变量是to_node my_code.tcl:

set to_node 13
exec awk -f check_ack.awk out.tr $to_node

check_ack.awk:

  BEGIN {}
    {
    # variable passed should be saved in node[i] --> But this doesnot work
    for ( i = 0; i < ARGC; i++ ) {
           node[i] = ARGV[i]
       }
    status = $7
        if(FILENAME=="trace.tr") {
            if(node[1] > -1 && $1  == "s" node[1] == $3 && status == "ack") {
            print "Node" " "node[1]" " "has not sent acknowledgement" >         "failed.txt"
            }
        }
    }
    END {
    exit 0
    }

最佳答案

您传递这样的变量:

awk -f some/script.awk -v var="my value"

现在您可以在 awk 中访问变量 var,如果打印它,您将看到它包含我的值

关于variables - 将变量作为参数传递给 TCL 中的 awk 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30141458/

相关文章:

linux - 合并来自两个文件的数据以创建一个新数据集

c++ - 如何让 Clang Complete 显示函数参数?

loops - awk for 循环增量值

regex - awk if 条件中的数值表达式

当我添加参数时,Javascript 函数不会触发

mysql - 如何编写频率计数但具有可变 bin 大小的 MYSQL 查询?

Javascript "pre set"一个变量?

javascript - 为什么这个输出未定义?

php - 多个变量赋值是按值还是按引用完成的?

c - 变量不改变c