我有如下的R代码。下面的代码位于名为“iot.R”的文件中。我在Linux中执行它。
我想将变量'fileinformation'的内容打印到file=fileConn提到的文件。。。
我原以为第三行可以解决这个问题,但它没有给出所需的输出:(
fileinformation = system(paste("file", filenames[1]))
#print(fileinformation)
cat(print(fileinformation),"\r\n","\r\n", file=fileConn)
当我运行这个文件时,我会得到低于结果的结果。它会打印到我的屏幕上,而不是写入文件:(
> source('iot.R')
CH7Data_20130401T135010.csv: ASCII text, with CRLF line terminators
[1] 0
--------------------更新1
我也试过服从命令,但没有得到预期的结果
cat(capture.output(fileinformation),"\r\n","\r\n", file=fileConn)
最佳答案
您需要在对intern
的调用中将TRUE
参数设置为system
。例如:
fileinformation<-system("file cinzia_2.gif",intern=TRUE)
fileinformation
#[1] "cinzia_2.gif: GIF image data, version 89a, 640 x 640"
当然,我在电脑上尝试了一个文件,将
intern
设置为TRUE
时,system
的返回值将成为命令的控制台输出。然后,当您调用cat
时,不需要将fileinformation
括在print
中,但是一个简单的cat(fileinformation,"\r\n","\r\n", file=fileConn)
就足够了。关于linux - linux-在R中运行系统命令,然后将输出写入文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26149032/