我希望删除如下文件名的中间部分:

Wm-no-Bis.GAGATTCC-ATAGAGGC.L001.R1.001.fastq.trim.R2.fastq
Pek-no-Bis.GAGATTCC-AGGCGAAG.L001.R1.001.fastq.trim.R1.fastq

得到
Wm-no-Bis.trim.R2.fastq
Pek-no-Bis.trim.R1.fastq

正如您所看到的,文件的开头和结尾都有一些变化。
我尝试使用以下重命名:
rename 's/.*.*.*.*.*.trim.//g'
Wm-no-Bis.GAGATTCC-ATAGAGGC.L001.R1.001.fastq.trim.R2copy.fastq

这将删除除结尾之外的整个文件名。
问题显然是我不了解如何使用通配符。

最佳答案

您可以使用这个rename命令:

rename -n 's/^([^.]+).*(\.trim\..*)$/$1$2/' *.fastq

当您对输出满意时,删除-n选项(干运行)

关于regex - 删除文件名中间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43103875/

10-09 20:49