awk可以接受两个参数吗?

awk可以接受两个参数吗?,awk,Awk,我是新来的,有点不太清楚,所以如果我的标题不正确,请纠正我。我试图从一个文件在awk中设置一个变量,然后在另一个文件上调用脚本 例: sqlinsert写入fields.txt 我执行: cat文本文件|/awkscript awkscript在textfile上运行时从fields.txt中提取“fields”变量 这是我的。我正在使用getline,这不是我想要的。我希望它从单独文件的第一行获取值 \#!/opt/local/bin/gawk -f BEGIN { print

我是新来的,有点不太清楚,所以如果我的标题不正确,请纠正我。我试图从一个文件在awk中设置一个变量,然后在另一个文件上调用脚本

例:

  • sqlinsert写入fields.txt
我执行:

cat文本文件|/awkscript

awkscript在textfile上运行时从fields.txt中提取“fields”变量

这是我的。我正在使用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
}
\#/opt/local/bin/gawk-f
开始{
printf“输入字段长度:”
getline字段<“-”
打印字段
}       
开始{FIELDWIDTHS=字段;OFS=“|”}
{

{for(i=1;i我想要的是:

cat textfile | generic.awk-v fields='10 1 21 4'

-v
选项也可以多次使用:
CAT文本文件一般。AWK-V字段1=“10”-V字段2=“1”-V字段3=“21”-V字段4 =“21”-V字段5=“4”< /P>请考虑添加一些示例输入、预期输出、当前输出到您的问题,否则我们将与您玩20个问题;-)另外,我在你的代码中没有看到你在使用field.txt。祝你好运。我不知道如何使用field.txt,这就是问题所在。我想让它做的就是将fields变量设置为“10 5 7 8 18 7 6”之类的值,或者在fields.txt的第一行找到的任何值