我有一个shell脚本,可以从.Rnw文件创建一个.tex文件。此文件需要进一步处理,但脚本找不到,因为它以某种方式自动生成到我的主目录。
我需要在.Rnw文件的文件夹中生成.tex文件(因为所有其他信息都在那里)。请注意,.Rnw文件通常是使用文件选择器选择的。
附带问题:是否有选择文件的选项,类似于Java中的JFileChooser,它只允许某些文件进行选择?
以下是代码:
#!/bin/bash
myfile=$(/usr/bin/osascript << EOT
tell app "AppleScript Runner"
activate
return posix path of (choose file)
end
EOT)
if [ $? -eq 0 ]
then
R CMD Sweave $myfile
no_ext="${myfile%.*}"
/usr/local/texlive/2009/bin/universal-darwin/pdflatex $no_ext.tex
open $no_ext.pdf
else
echo "User canceled"
fi
Thx,对所有帮助过这个初始脚本的人来说!
答案 0 :(得分:1)
dirname
可用于获取文件的目录名称,或者您可以使用之前针对/
的扩展名执行的相同替换。
filedir="${no_ext%/*}"
/usr/local/texlive/2009/bin/universal-darwin/pdflatex -output-directory "$filedir" "$no_ext.tex"