使用R語言批量修改文件名的方法

在R語言默認目錄下有一文件夾test,其下有三個文件,分別是test1.txt, text2.txt, text3.txt, 現在要對這三個文件進行批量的修改。主要使用到瞭for 循環和sub()字符替換函數。思路是先通過list.files()函數將test文件夾下面的三個文件名讀至變量,然後通過for循環來實現批量修改文件名。

1. 修改文件擴展名

folder<-setwd('~/test')
files<-list.files(folder)
 for (f in files){
 newname<-sub(".txt",'.xls',f)
 file.rename(f,newname)
}
dir()

 顯示結果:

[1] “text1.xls” “text2.xls” “text3.xls”

2. 刪除文件擴展名

 folder<-setwd('~/test')
files<-list.files(folder)
 for (f in files){
 newname<-sub('.xls','',f)
 file.rename(f,newname) 
}
dir()

顯示結果:

[1] “text1” “text2” “text3”

 3. 增添文件擴展名

這裡我們用到一個正則表達式,用‘$’代替字符的尾部,將字符尾部替換為’.doc’

folder<-setwd('~/test')
files<-list.files(folder)
 for (f in files){
 newname<-sub('$','.doc',f)
 file.rename(f,newname)
}
dir() 

輸出結果:

 “text1.doc” “text2.doc” “text3.doc”

4.  修改文件名中的字符

folder<-setwd('~/test')
files<-list.files(folder)
  for (f in files){
  newname<-sub('xt','ab',f) #將原文件中的字符xt,替換為字符ab
  file.rename(f,newname)
}
dir()

輸出結果:

[1] “teab1.doc” “teab2.doc” “teab3.doc”

5. 刪除文件名中的數字

把實驗目錄下的文件分別修改為tab.doc,teb.doc, tdb.doc,用“\\d”正則表達式代替文件中的數字。

folder<-setwd('~/test')
files<-list.files(folder)
 for (f in files){
 newname<-sub('\\d','',f) 
 file.rename(f,newname)
}
dir()

輸出結果:

[1] “tab.doc” “tdb.doc” “teb.doc” 

參考文章:

1.R語言文件目錄操作 https://www.omicsclass.com/article/338

2.R語言字符串替換 https://www.cnblogs.com/emanlee/p/4464018.html

到此這篇關於使用R語言批量修改文件名的文章就介紹到這瞭,更多相關R語言批量修改文件名內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: