首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一样但不一样!使用R重命名多个文件

一样但不一样!使用R重命名多个文件
EN

Stack Overflow用户
提问于 2015-01-18 21:22:50
回答 1查看 207关注 0票数 3

我是R编码新手,我正在尝试编写代码,以便在同一个文件夹中重命名一系列pdf文件:

代码语言:javascript
运行
复制
Letter131.pdf
Letter132.pdf
Letter133.pdf 

有可能有~1000个文件,我最终需要重命名。

我想重命名这些文件,以便它们在第2位和第3位之间有一个"_“:

代码语言:javascript
运行
复制
Letter13_1.pdf
Letter13_2.pdf
Letter13_3.pdf

我已经找到了关于重命名多个文件的各种答案,不幸的是,我无法重新定位它们来工作。

我想出的一个例子是:

代码语言:javascript
运行
复制
file_names <- list.files(pattern="*.pdf")
sapply(file_names, FUN = function(eachPath){
  file.rename(from = eachPath, to = sub(pattern = "Letter13$.pdf", paste0("Letter13_$"), 1:3, eachPath))
})

有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-18 21:33:09

file.rename是矢量化的,这里不需要使用循环:

代码语言:javascript
运行
复制
## insert _ using grouping pattern
TO <- sub('(.*)([0-9][.]pdf)','\\1_\\2',file_names)
## rename a vector 
file.rename(file_names , TO)

模式使用示例:

代码语言:javascript
运行
复制
file_names <- c("Letter131.pdf","Letter132.pdf","Letter133.pdf")
sub('(.*)([0-9][.]pdf)','\\1_\\2',file_names)  
## [1] "Letter13_1.pdf" "Letter13_2.pdf" "Letter13_3.pdf"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28014970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档