-1

R (OSX、R3.0.1; readLines() および scan() は、私が何を達成することはできません必要)。

システムとファイル名を R 内で直接使用すると、正常に動作します。

system("awk 'NR==2' ~/path/filename", intern=TRUE)

でも

filename<-"~/path/filename"
system("awk 'NR==2' filename", intern=TRUE)

イライラするエラーを返します

character(0)
attr(,"status")
[1] 2
Warning message:
running command 'awk 'NR==2' filename' had status 2 
awk: can't open file filename
source line number 1

ファイル名のどこかで何かをエスケープする必要があると思いますが、場所や方法がわかりません。

4

2 に答える 2

2

これが R コードの最初の行になります。:)

問題は、ファイル名変数をリテラル文字列で記述したことだと思います。system()最初に文字列連結を使用して awk コマンドを作成し、次のように に渡します。

system(paste("awk 'NR==2' ", filename), intern=TRUE) 
于 2013-09-08T22:51:57.117 に答える