我创建了一个awk脚本。我想将其输出保存在文件中。但
awk -f a.awk >meta.txt
无效。谁能告诉我为什么会这样? 任何人都可以建议哪个命令最适合创建具有特定格式的文件。如果我为此目的使用awk,那没关系。
答案 0 :(得分:2)
如果AWK脚本没有处理文件或从管道接收输入,那么整个脚本应该在BEGIN
块中。
BEGIN { print "foo"
print "bar"
while (a < c) a+=b
print a, b, c
}
答案 1 :(得分:1)
你是否给了awk任何输入?如果它坐在那里什么都不做,你按^ D结束你没有在STDIN上给它任何东西。你的a.awk脚本是什么样的?
尝试:
cat input.txt | awk -f a.awk > meta.txt
答案 2 :(得分:1)
awk需要输入。通过命令管道一些数据,例如:
ls -l | awk -f a.awk > meta.txt
或者:
awk -f a.awk -- somefile.with.input > meta.txt
答案 3 :(得分:1)
使用-f
调用awk脚本时,请确保包含要处理的文件名。将其遗漏的常见错误
awk -f a.awk [filename] > output.txt
或者如果你的awk脚本被设计为接受stdin,请确保你正确地将stdin输入到它。例如
some command | awk -f a.awk
答案 4 :(得分:0)
script -a -c "awk -f a.awk" meta.txt