Из-за несвязанной ошибки программного обеспечения у меня много файлов с двойными именами, например,
c("info10_file1.info10_file1.xy", "info11_file1.info11_file1.xy")
Я хочу удалить это повторение, файлы должны быть:
c("info10_file1.xy", "info11_file1.xy")
Я пытался использовать sapply
для функции переименования файлов, но для этого требуется шаблон, который означает, что будут изменены только шаблоны с info10
.
Итак, запустим этот код:
sapply(files_list,FUN=function(eachPath){
....file.rename(from=eachPath,to=sub(pattern='info10_file1.',replacement='',eachPath))
})
Результатом будет:
"info10_file1.xy", "info11_file1.info11_file1.xy"
Улучшение можно сделать, установив pattern='file1.info'
, что означает, что все файлы будут обработаны, но число 10 или 11 в info10 или info11 все равно будет повторяться, производя это:
"info10_10_file1.xy", "info11_11_file1.xy"
Есть ли способ просто удалить произвольное количество символов? В этом примере это будет 13.