[R] escape characters in shell commands
James Rome
jamesrome at gmail.com
Tue May 24 19:40:58 CEST 2011
On a Windows platform I am trying to count the number of lines in a file.
In a DOS window, the following works:
C:\Users\jar>findstr /R /N "^" D:\my_dir\my_file | find /C ":"
5317
(it works with double \\ also)
But in R, I need to make this string up with the file name I get from
file.choose():
filename = file.choose()
#get the number of lines in the file
# first make a command string with the filename in it
cmd = paste('findstr /R /N "^" ', filename, ' | find /C ":"', sep=""')
nrec = as.numeric(shell(cmd))
But R puts in escape characters for the ":
> cmd
[1] "findstr /R /N \"^\" D:\\my_dir\\my_file | find /C \":\""
and shell(cmd) does not work properly. And
> nrec=shell('findstr /R /N "^"D:\\my_dir\\my_file | find /C ":"')
> nrec
[1] 0
does not work either.
What am I doing wrong?
Thanks,
Jim
More information about the R-help
mailing list