2014-04-20 25 views
0

perl的我想通過文件名從河到perl例如,從讀該系統命令來執行Perl行之有效通行證文件名來自R

system("perl file.pl name.txt") 

name.txt在R已經存在工作目錄。現在,

a<-"name.txt" 

如何將此傳遞給perl?

回答

1

如果我理解正確的話,我認爲這可能工作:

a <- "name.txt" 
system(sprintf("perl file.pl %s", a)) 
+0

是的,你的答案奏效,非常感謝。 – ramesh

+1

如果文件名包含空格(或其他特殊字符)及其**缺口安全漏洞**,則此**不會工作**如果此代碼在服務器上運行並且客戶端可以指定文件名(谷歌:「Bobby Tables 「)。使用'shQuote(a)'修復。 – Spacedman

1

泰勒的方法有效,但也有這樣:

a <- "name.txt" 
system(paste("perl file.pl", a)) 

根據不同的情況,一個可能已經過去更直觀另一個。