0

我对此很陌生,而且有点不知所措,所以如果我的标题不正确,请纠正我。我试图从一个文件在 awk 中设置一个变量,然后在另一个文件上调用脚本。

前任:

  • sqlinsert 写入 fields.txt

我执行:

猫文本文件 | ./awkscript

awkscript 在文本文件上运行时从 fields.txt 中提取 'fields' var

这就是我所拥有的。我正在使用 getline,这不是我想要的。我希望它从单独文件的第一行中获取值。

\#!/opt/local/bin/gawk -f

BEGIN { 
    printf "Enter field lengths: "
    getline fields < "-"
        print fields
}       

BEGIN {FIELDWIDTHS = fields; OFS="|"}
{
        {       for (i=1;i<=NF;i++) sub(/[ \t]*$/,"",$i)        }

\#       {       for (i=1;i<=NF;i++) sub(/^[ \t]*/,"",$i)        }

        print
}
4

1 回答 1

1

我一直在寻找的是:

猫文本文件 | generic.awk -v 字段='10 1 21 21 4'

-v选项也可以多次使用:cat textfile | generic.awk -v field1="10" -v field2="1" -v field3="21" -v field4="21" -v field5="4"

于 2013-02-27T19:47:30.647 回答