У меня есть что-то вроде 700 000 файлов в папке, где мне нужно найти и заменить несколько строк другими строками (все 4 кода символов). Неизвестно, присутствует ли строка в файле или нет. Я пытаюсь использовать gsub, но не могу найти, как это сделать с помощью регулярных выражений. Может ли кто-нибудь сказать мне хороший и эффективный способ справиться с этой задачей?
Это код, который я использовал до сих пор. Он хорошо работал только с одной инструкцией y <- gsub(...)
, но не работает для моей цели, очевидно, потому что только последняя инструкция gsub учитывается для определения переменной y...
chm_files <- list.files(getwd(), pattern=("^[[:digit:]]*.chm$"), full.names=F)
for(chm_file in chm_files) {
x <- readLines(chm_file)
y <- gsub("AG02|AG07|AG05|AG18|AG19|AG08|AG09|AG17", "AGRL", x)
y <- gsub("SB28|SB42|SB43|SB33|SB41|SB34|SB39|SB35", "SWHT", x)
y <- gsub("WB28|WB42|WB43|WB32|WB09|WB33|WB41|WB26", "BARL", x)
y <- gsub("WW02|WW25|WW08|WW31|WW05|WW28|WW19|WW42", "WWHT", x)
cat(y, file=chm_file, sep="\n")
}
x
, а неy
, вы не потеряете более ранние исправления. - person IRTFM   schedule 31.01.2015R
- person Carl Witthoft   schedule 31.01.2015