【发布时间】:2011-02-28 09:02:24
【问题描述】:
我创建了一个 awk 脚本。我想将其输出保存在文件中。但是
awk -f a.awk >meta.txt
不工作。有人能告诉我为什么会这样吗? 谁能建议哪个命令最适合创建具有特定格式的文件。如果我为此目的使用 awk 可以吗?
【问题讨论】:
-
在此处粘贴您的代码。运行“awk -f a.awk”时输出什么
我创建了一个 awk 脚本。我想将其输出保存在文件中。但是
awk -f a.awk >meta.txt
不工作。有人能告诉我为什么会这样吗? 谁能建议哪个命令最适合创建具有特定格式的文件。如果我为此目的使用 awk 可以吗?
【问题讨论】:
如果 AWK 脚本未处理文件或接收来自管道的输入,则整个脚本应位于 BEGIN 块中。
BEGIN { print "foo"
print "bar"
while (a < c) a+=b
print a, b, c
}
【讨论】:
你给 awk 任何输入吗?如果它坐在那里什么都不做并且你按 ^D 并且它结束了你没有在 STDIN 上给它任何东西。你的 a.awk 脚本是什么样的?
试试:
cat input.txt | awk -f a.awk > meta.txt
【讨论】:
cat 的无用使用。 AWK 接受输入文件名作为参数。
awk 需要输入。通过命令管道一些数据,例如:
ls -l | awk -f a.awk > meta.txt
或者:
awk -f a.awk -- somefile.with.input > meta.txt
【讨论】:
当您使用 -f 调用 awk 脚本时,请确保包含要处理的文件名。忽略它是常见的错误
awk -f a.awk [filename] > output.txt
或者,如果您的 awk 脚本设计为接收标准输入,请确保您正确地将标准输入传递给它。例如
some command | awk -f a.awk
【讨论】:
script -a -c "awk -f a.awk" meta.txt
【讨论】: