在linux中的命令行编织

时间:2017-07-28 09:46:57

标签: r linux shell knitr

我知道以下内容可以在Linux的终端中将Rnw文件编织成pdf,但是有太多的行,而Rstudio这样做只需要点击一下。有人可以提供linux shell函数来处理文件名作为变量吗?我试着以1美元为例,但是对于Rscript和Rnw文件名有“”和“”,而shell无法识别$ 1是什么。

Rscript -e "library(knitr); knit('my_sweave_file.Rnw')"
    pdflatex my_sweave_file.tex

1 个答案:

答案 0 :(得分:1)

你可以使用这样的东西。保存为文件并确保它可以运行(即使用chmod +x nameofscript)。

#!/bin/bash

# Set the first argument as variable file    
file=$1

filename=$(basename "$file")
extension="${filename##*.}"
filename="${filename%.*}"

Rscript -e "library(knitr); knit('$file')" ; pdflatex $filename.tex