Ответ 1
Я не думаю, что есть прямой путь (застенчивый от обстрела), но что-то вроде следующего обычно работает для меня.
flist <- list.files("patha", "^filea.+[.]csv$", full.names = TRUE)
file.copy(flist, "pathb")
Примечания:
- Я намеренно разлагаюсь в два этапа, их можно комбинировать.
- См. регулярное выражение: R использует true regex, а также отделяет шаблон файла от пути в двух отдельных аргументах.
- обратите внимание на
^
и$
(beg/end of string) в регулярном выражении - это обычная магия, так как они неявны шаблонам подстановочного типа, но требуются с регулярными выражениями (иначе некоторые имена файлов соответствие шаблону подстановки, но также запуск и/или завершение с добавлением дополнительного текста). - В мире Windows люди обычно добавляют аргумент
ignore.case = TRUE
кlist.files
, чтобы эмулировать тот факт, что поиск в каталоге нечувствителен к регистру с этой ОС. Функция - R
glob2rx()
обеспечивает удобный способ преобразования шаблонов подстановок в регулярные выражения. Например,fpattern = glob2rx('filea*.csv')
возвращает другое, но эквивалентное регулярное выражение.