gpt4 book ai didi

linux - 在Linux中使用正则表达式重命名文件

转载 作者:太空宇宙 更新时间:2023-11-04 03:40:11 25 4
gpt4 key购买 nike

您好,我需要更改文件夹中的这些文件名:

dingo__AAA311P02_2845__L7_ACTTGA_L007_R1_001.fastq.gz
lala_bros__AAA000M11_3289__L2_ACTGAT_L002_R2_001.fastq.gz
nice__AAA827M10_2860__L7_ACTGAT_L007_R2_001.fastq.gz

我需要保留 AAA*****(例如 AAA255P02),并保留 R1 或 R2 以及扩展名 fastq.gz

所以理想情况下我想得到这些:
AAA311P02_R1.fastq.gz
AAA000M11_R2.fastq.gz
AAA827M10_R2.fastq.gz

我尝试使用 rename 's/^.*\(AAA[1-9][1-9][1-9][A-Z][1-9][1-9]\).*$/\$1/g' *.fastq.gz

最佳答案

\(...\) 搜索括号但不捕获其内容。

我看到需要捕获三个 block ,因此我提出以下建议:

rename 's/^.*(AAA.{6}).*(_R.).*(\.fastq.gz)/$1$2$3/' *.fastq.gz

第一个 block :AAA 后跟六个字符。

第二个 block :_R 后跟一个字符。

第三 block :扩展名.fastq.gz

关于linux - 在Linux中使用正则表达式重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30007226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com