2013-02-27 97 views
0

我是新手,有点在黑暗中,所以如果我的标题不符合标准,请纠正我。我试图从一个文件在awk中设置一个变量,然后在另一个文件上调用脚本。awk可以接受两个参数吗?

例如:

  • 的SQLInsert写入fields.txt

我执行:

猫文本文件|在文本文件

运行时从fields.txt ./awkscript

awkscript拉“域”变种这里是我有什么。我正在使用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

请考虑添加一些示例输入, ,当前输出到你的问题,其他明智的我们将与你一起玩20个问题;-)另外,我没有在你的代码中看到你正在使用field.txt。祝你好运。 – shellter 2013-02-27 19:11:46

+0

我不知道如何使用field.txt,这就是问题所在。我希望它所做的就是将字段变量设置为“10 5 7 8 18 7 6”或它在第一行fields.txt中找到的任何值 – 2013-02-27 19:23:23

回答

1

我一直在寻找的是这样的:

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

-v选项也可以多次使用: 猫文本文件| generic.awk -v field1 =“10”-v field2 =“1”-v field3 =“21”-v field4 =“21”-v field5 =“4”

相关问题