我是新手,有点在黑暗中,所以如果我的标题没有标记,请纠正我。我正在尝试从一个文件在awk中设置一个变量,然后在另一个文件上调用该脚本。
例如:
我执行:
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
}
答案 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”