【问题标题】:Renaming multiple files in folder重命名文件夹中的多个文件
【发布时间】:2019-07-23 16:49:50
【问题描述】:
  list.files()

  "file_iteration1_2019-03-01-03-38-16.csv"
  "file_iteration1_obs_2019-03-01-03-38-16.csv" 
  "file_iteration1_modp_2019-03-01-03-38-16.csv"

我想重命名这些文件,不带年份和时间戳,使其看起来像

"file_iteration1.csv"
"file_iteration1_obs.csv" 
"file_iteration1_modp.csv"

【问题讨论】:

    标签: r rename


    【解决方案1】:

    sub:

    x <- c("file_iteration1_2019-03-01-03-38-16.csv", 
    "file_iteration1_obs_2019-03-01-03-38-16.csv",
    "file_iteration1_modp_2019-03-01-03-38-16.csv")
    
    sub('_\\d{4}(-\\d{2}){5}', '', x)
    # [1] "file_iteration1.csv"      "file_iteration1_obs.csv"  "file_iteration1_modp.csv"
    

    【讨论】:

      【解决方案2】:

      我们可以使用str_remove

      library(stringr)
      str_remove(files, "_[0-9-]+")
      #[1] "file_iteration1.csv"      "file_iteration1_obs.csv"  "file_iteration1_modp.csv"
      

      【讨论】:

        【解决方案3】:

        由于您要重命名文件夹中的文件,您可以组合file.rename()gsub()(@avid_user 和@akrun 建议的sub()stringr::str_remove() 也可以正常工作)。试试看:

        file.rename(list.files(), gsub('_[0-9-]+', '', list.files()))
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-04-02
          • 1970-01-01
          • 2011-10-21
          • 1970-01-01
          • 2018-04-26
          • 2014-10-29
          • 2020-04-06
          相关资源
          最近更新 更多