【发布时间】:2013-02-27 18:37:39
【问题描述】:
我是新手,有点不知所措,所以如果我的标题离题,请纠正我。我正在尝试从一个文件在 awk 中设置一个变量,然后在另一个文件上调用该脚本。
例如:
- sqlinsert 写入 fields.txt
我执行:
cat 文本文件 | ./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
}
【问题讨论】:
-
请考虑在您的问题中添加一些示例输入、预期输出、当前输出,否则我们将与您一起玩 20 个问题;-) 另外,我在您的代码中没有看到您正在使用 field.txt。祝你好运。
-
我不知道如何使用field.txt,这就是问题所在。我想要做的就是将 fields 变量设置为“10 5 7 8 18 7 6”或在 fields.txt 的第一行找到的任何值
标签: awk