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