我想将我的R文件的输出传递给bash脚本。 R脚本的输出是视频的标题:“视频标题”
我的bash脚本很简单:
youtube-dl title_of_video.avi https://www.youtube.com/watch?v=w82a1FTere5o88
理想情况下,我希望视频的输出为“视频标题”。avi
我知道我可以使用bscript命令使用Rscript来启动R脚本,但我认为Rscript不能在这里帮助我。
答案 0 :(得分:3)
在bash中,您可以调用命令并通过$(my_command)
语法进一步使用命令的输出。
确保您的脚本仅输出标题。
例如
# in getTitle.R
cat('This is my title') # note, print would have resulted in an extra "[1]"
# in your bash script:
youtube-dl $(Rscript getTitle.R) http://blablabla
如果您也想将参数传递给R脚本,请在$()语法内进行;如果要将这些参数传递给 bash 脚本,并将它们委派给R脚本来处理它们,则可以使用特殊的bash变量$1
(表示第一个参数,以此类推) ,或$*
表示传递给bash脚本的所有参数,例如
#!/bin/bash
youtube-dl $(Rscript getTitle.R $1) http://blablablabla
(这假设getTitle.R通过commandArgs
等在内部对那些参数执行某些操作,以产生所需的标题输出)
答案 1 :(得分:0)
您可以在bash脚本中调用Rscript,并且可以将R脚本的输出分配给bash脚本中的变量。选中此question。之后,您可以执行
youtube-dl $outputFromRScript https://www.youtube.com/watch?v=w82a1FTere5o88