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

批量创建同名文件夹并移动对应fastq.gz文件的脚本问题求助

批量配对测序文件归类脚本方案

针对你遇到的配对文件无法正确移入对应文件夹的问题,这里提供两种可靠的Shell脚本方案,适配你的文件命名规则(基名.trimmed_1P.fastq.gz/基名.trimmed_2P.fastq.gz):

方案一:使用sed提取基名

#!/bin/bash

# 遍历所有1P配对文件,避免重复处理
for file in *_1P.fastq.gz; do
    # 提取基名:移除".trimmed_1P.fastq.gz"后缀
    base=$(echo "$file" | sed 's/\.trimmed_1P\.fastq\.gz$//')
    # 创建目标文件夹(已存在则跳过)
    mkdir -p "$base"
    # 移动对应的1P和2P文件到文件夹
    mv "${base}.trimmed_1P.fastq.gz" "${base}.trimmed_2P.fastq.gz" "$base/"
done

方案二:使用Shell参数扩展(更高效)

无需调用外部工具,纯Shell处理更快速:

#!/bin/bash

for file in *_1P.fastq.gz; do
    # 第一步:移除末尾的"_1P.fastq.gz",得到"基名.trimmed"
    temp=${file%_1P.fastq.gz}
    # 第二步:移除".trimmed"后缀,得到最终基名
    base=${temp%.trimmed}
    
    mkdir -p "$base"
    mv "${base}.trimmed_1P.fastq.gz" "${base}.trimmed_2P.fastq.gz" "$base/"
done

操作提示

  1. 测试先行:先复制少量测试文件到空目录,运行脚本验证效果,确保无误后再处理400对文件
  2. 预览操作:如果不确定脚本执行结果,可以将mv命令替换为echo mv,先查看将要执行的移动命令是否正确

内容的提问来源于stack exchange,提问作者Sergio Bolívar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 19:10:03