You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中按文件名规则筛选重命名文件并批量循环处理

R环境下Fastq文件的批量清理与重命名

实现步骤与代码

  1. 设置工作目录
    替换为你的fastq文件所在的实际路径:
setwd("/path/to/your/fastq/files")
  1. 获取目标文件列表
    筛选目录下所有.fastq格式的文件:
fastq_files <- list.files(pattern = "\\.fastq$", full.names = TRUE)
  1. 批量处理文件
    循环遍历每个文件,判断是否符合保留条件,完成重命名或删除操作:
for (file in fastq_files) {
  # 提取纯文件名(去除路径)
  filename <- basename(file)
  # 拆分文件名:分离前缀(如T1-T1)和后缀(如R1.fastq)
  name_split <- strsplit(filename, "_")[[1]]
  prefix <- name_split[1]
  suffix <- paste(name_split[-1], collapse = "_")
  
  # 拆分前缀中的短横线部分
  prefix_parts <- strsplit(prefix, "-")[[1]]
  
  # 判断短横线前后字符是否一致
  if (length(prefix_parts) == 2 && prefix_parts[1] == prefix_parts[2]) {
    # 生成新文件名并重命名
    new_name <- paste(prefix_parts[1], suffix, sep = "_")
    file.rename(file, file.path(dirname(file), new_name))
    cat("重命名完成:", filename, "→", new_name, "\n")
  } else {
    # 删除不符合条件的文件
    file.remove(file)
    cat("已删除文件:", filename, "\n")
  }
}

注意事项

  • 运行代码前务必备份原始文件,避免误操作导致数据丢失
  • 如果文件名包含多个下划线或短横线,可根据实际格式调整strsplit的分隔符和拆分逻辑
  • 代码仅处理.fastq后缀的文件,若需包含.fastq.gz等格式,可修改pattern参数为"\\.fastq(\\.gz)?$"

内容的提问来源于stack exchange,提问作者Andhika Prasetyo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 18:05:13