> On 06 Dec 2015, at 04:53 , David Winsemius <dwinsem...@comcast.net> wrote:
> 
>> 
>> On Dec 5, 2015, at 4:49 PM, Glenn Schultz <glennmschu...@me.com> wrote:
>> 
>> All,
>> 
>> I have not used SED in the past so I am continuing to read its documentation 
>> but I need some help with R
>> 
>> Here is my SED command which works:
>>  system("sed -i ''  '/^[\r#]/d; /AGENCY/d' 
>> /Library/Frameworks/R.framework/Versions/3.2/Resources/library/BondLab/Temp_CashFlow/blx_test.cfm")
>> 
>> Here are my R commands which do not work.  
>> ReadCF <- paste("system(sed -i '' '/^[\r#]/d; /AGENCY/d' ", 
>> system.file(package = "BondLab"),"/Temp_CashFlow/", 
>> CashFlowData, ".cfm)", sep ="")
>> 
>> eval(parse(text = ReadCF))
>> I have managed to determine that the problem is the missing quotes but I do 
>> not know how to get those included in the below R command.
> 
> I see no explanation of what you are attempting, but the method of including 
> an actual quote in an R character vector element is to escape it:
> 
>> cat("\"")
> "
>> nchar("\"")
> [1] 1
> 

At any rate, eval(parse(... is just silly (fortune(181); fortune(106)). 

Just use paste()  or --- probably better ---sprintf() to construct the command, 
and then do

cmd <- ....
system(cmd)

A further advantage is that you can cat(cmd, \n)  before running it and see 
whether it contains what you intended.

I think (but you check) that this works:

fmt <- "sed -i ''  '/^[\r#]/d; /AGENCY/d' %s/Temp_CashFlow/%s.cfm"
cmd <- sprintf(fmt, system.file(package = "BondLab"), CashFlowData)
system(cmd)

-- 
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd....@cbs.dk  Priv: pda...@gmail.com

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to