Thanks for both replies. Let me start by giving a better minimal example, although indeed the regex replacement is not my problem.
system("echo \"var1,var2,var3\none,two,three\none,this is a comment,with commas.,three\" > file.csv") > On 12/12/09 11:02, David Winsemius wrote: > > > > You need to figure out how to do multiple replacements unless it is > > only the first comma that you are targeting: > > > > > readLines(pipe("sed -e 's/,/;/' ~/file.csv")) > > [1] "one;two,three" Lovely. What I really need is read.csv and this works (with my "good enough for the existing data; will optimize later as needed" regex): read.csv(pipe("sed -e 's/\\( [a-zA-Z]\\+\\),/\\1;/g' file.csv")) I can't understand that I didn't try this. I think what I tried was pipe( ... file.csv |") (with a Unix pipe symbol a the end) Thanks! Jon Baron <ba...@psych.upenn.edu> 12-Dec-09 16:21: > gsub(readLines("file.csv"),",",";") Using gsub would be even neater, as it would really be self-contained in R. gsub("( [A-Za-z]+),","\\1;",readLines("file.csv")) seems to work fine, but how to get this into a data frame? Marianne -- Marianne Promberger PhD, King's College London http://promberger.info R version 2.10.0 (2009-10-26) Ubuntu 9.04 ______________________________________________ R-help@r-project.org mailing list 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.