R purrr system2 map
У меня есть вектор имен файлов A, и у меня есть эквивалентный вектор новых имен для этих файлов - B.
Я надеялся сделать:
test <-map2(A, B, ~system2('mv', args=c(.x, .y)))
или возможно
test <-map2(A, B, ~system2('mv', args=paste(.x, .y)))
но.x и.y интерпретируются неправильно, и команда не выполняется.
mv: невозможно указать '/home/rob/KRBD_Data/Client_ID/000/raw/monthzips/2015-01/Data_2015-01-07.zip'
Если я использую переименовать в качестве команды, я получаю
test <-map2(A, B, ~system2('rename', args=paste(.x, .y)))
Неизвестный модификатор регулярного выражения "/r" в (предоставленный пользователем код), в конце строки
Неизвестный модификатор регулярного выражения "/b" в (предоставленный пользователем код), в конце строки
1 ответ
Если вы склеите аргументы, system2
Функция избавится от того пространства, которое разделяет их, как если бы это было одно длинное имя файла, которое содержит пробел.
Вместо этого передайте оба аргумента как вектор:
test <-map2(A, B, ~system2('mv', args=c(.x, .y)))