2016-09-22 127 views
0

请帮助!批处理脚本在可变字符中删除部分文件名

我有一组按以下格式命名的60个档案:

  • XXXXX_L2_R1_001_XneCgnfdkjTTTnm.fastq.gz
  • XXXXX_L2_R2_001_GmnbkjZZnvhkfPn.fastq.gz

,我想删除“ _L2“部分和其他所有其他内容,以便具有类似的内容:

  • XXXXX_R1.fastq.gz
  • XXXXX_R2.fastq.gz

“XXXXX”的数目的文件之间变化,并且对于每个数总是有一个R1文件和R2文件。

也许重命名或sed命令可以提供帮助。

谢谢!

+0

请发表您已经尝试了什么到现在什么也不能正常工作。这听起来像你希望我们为你做你的工作 – owagh

+0

请注意,https://stackoverflow.com不是一个免费的脚本/代码写作服务。如果您告诉我们您迄今为止所尝试的内容(包括您已经使用的脚本/代码)以及您卡住的位置,那么我们可以尝试帮助解决特定问题。您还应该阅读[我如何提出一个好问题?](https://stackoverflow.com/help/how-to-ask)。 – DavidPostill

+0

哪个操作系统?哪个外壳? [tag:batchfile]与你的问题有什么关系? – DavidPostill

回答

0

使用rename工具,你可以这样做:

rename -n 's/^([^_]+)_L2(_[^_]+)[^.]+(\..+)$/$1$2$3/' *.gz 

一旦满意预演删除-n选项,然后重新运行。

+0

谢谢@anubhava!它完美解决了。 – RufM

相关问题