[R] help using SED
pdalgd at gmail.com
Sun Dec 6 10:28:26 CET 2015
> On 06 Dec 2015, at 04:53 , David Winsemius <dwinsemius at comcast.net> wrote:
>> On Dec 5, 2015, at 4:49 PM, Glenn Schultz <glennmschultz at me.com> wrote:
>> 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:
>  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 <- ....
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)
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com
More information about the R-help