簡體   English   中英

相同但不同! 使用R重命名多個文件

[英]Same but Different! Renaming Multiple Files using R

我是R編碼的新手,我正在嘗試編寫代碼,以便在同一文件夾中重命名一系列pdf文件:

Letter131.pdf
Letter132.pdf
Letter133.pdf 

可能會有大約1000個文件,我最終需要重命名。

我想重命名這些文件,使它們在第2和第3位之間有一個“_”:

Letter13_1.pdf
Letter13_2.pdf
Letter13_3.pdf

我找到了重命名多個文件的各種答案,不幸的是我無法重新開始工作。

我想出的一個例子是:

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))
})

有人能幫我解決這個問題嗎?

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

## insert _ using grouping pattern
TO <- sub('(.*)([0-9][.]pdf)','\\1_\\2',file_names)
## rename a vector 
file.rename(file_names , TO)

模式使用示例:

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"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM