【问题标题】:Pass output of R script to bash script将 R 脚本的输出传递给 bash 脚本
【发布时间】:2019-12-20 10:58:43
【问题描述】:

我想将我的 R 文件的输出传递给 bash 脚本。 R 脚本的输出是视频的标题:"Title of Video"

我的 bash 脚本很简单:

youtube-dl title_of_video.avi  https://www.youtube.com/watch?v=w82a1FTere5o88

理想情况下,我希望视频的输出为“视频标题”.avi

我知道我可以使用 Rscript 通过 bash 命令启动 R 脚本,但我不认为 Rscript 可以帮助我。

【问题讨论】:

    标签: r bash


    【解决方案1】:

    在 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 等对这些参数进行了处理以产生所需的标题输出)

    【讨论】:

      【解决方案2】:

      您可以在 bash 脚本中调用 Rscript,并且可以将 R 脚本的输出分配给 bash 脚本中的变量。检查此question。之后就可以执行了

      youtube-dl $outputFromRScript  https://www.youtube.com/watch?v=w82a1FTere5o88
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-13
        • 1970-01-01
        • 2015-05-13
        • 2022-12-08
        • 2020-11-15
        • 1970-01-01
        • 2021-11-18
        • 2012-12-29
        相关资源
        最近更新 更多