我使用Torch7和Lua编程语言。我需要一个将我的控制台输出重定向到文件的命令,而不是将其打印到我的shell中。 例如,在Linux中,键入:
$ ls> DIR.TXT
系统会将命令“ls”的输出打印到文件dir.txt,而不是将其打印到默认输出控制台。 我需要一个类似Lua的命令。有谁知道吗?
[编辑] 用户建议我将此操作称为 piping 。所以,问题应该是:“如何在Lua中制作管道?”
[EDIT2] 我会使用这个#命令来执行:
$ torch'my_program'#printed_output.txt
答案 0 :(得分:2)
看看这里 - > http://www.lua.org/pil/21.1.html
io.write
似乎就是你要找的东西。
答案 1 :(得分:0)
Lua没有默认功能来从控制台输出创建文件。 如果您的应用程序记录其输出 - 您可能正在尝试这样做 - 只能通过修改Lua C ++源代码来实现此目的。
如果您的内部系统可以访问控制台的输出,您可以执行与此类似的操作(并将其设置在计时器上,因此它每隔25ms运行一次):
dumpoutput = function()
local file = io.write([path to file dump here], "w+")
for i, line in ipairs ([console output function]) do
file:write("\n"..line);
end
end
请注意,控制台输出功能必须将控制台的输出存储在表中。
要在最后清除控制台,只需执行os.execute( "cls" )
。