awk可以接受两个参数吗?

时间:2013-02-27 18:37:39

标签: awk

我是新手,有点在黑暗中,所以如果我的标题没有标记,请纠正我。我正在尝试从一个文件在awk中设置一个变量,然后在另一个文件上调用该脚本。

例如:

  • sqlinsert写入fields.txt

我执行:

cat textfile | ./awkscript

awkscript在textfile

上运行时从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
}

1 个答案:

答案 0 :(得分:1)

我在寻找的是:

cat textfile | generic.awk -v fields = '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”