如何将控制台输出存储到 R 中的变量

How to store the console output to a variable in R

在 R 中,我想将控制台命令存储到变量中。我已经尝试了以下 link 中提出的解决方案,但没有成功:In R, is it possible to redirect console output to a variable? 这是我正在使用的命令:

test <- capture.output(system("pa11y scuolafalconeborsellino.it; 
        perl -e \"print unpack('c', pack('C', $?)), \$/\""), file = NULL)

控制台中可见的输出是:

[4m[36m Welcome to Pa11y[39m[24m [90mWe'll sniff your page for you now. [39m [36m > [39mLoading page... [36m > [39mRunning HTML CodeSniffer... [36m > [39m[31mError: HTML CodeSniffer error[39m

-1

但是变量test是空的。

谢谢!

system 有一个参数 intern 可用于将输出保存到字符向量:

test <- system("pa11y scuolafalconeborsellino.it; perl -e \"print unpack('c', pack('C', $?)), \$/\"", 
               intern = TRUE)

请注意,现在首选 system2,在新代码中应避免使用 system