在linux中使用regex重命名文件
您好,我需要更改文件夹中的这些文件名:在linux中使用regex重命名文件,linux,Linux,您好,我需要更改文件夹中的这些文件名: 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 因此,理想情况下,我希望得到
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][A-Z][1-9][1-9]\).$/\$1/g'*.fastq.gz
\(…)
搜索括号,但不捕获其内容
我认为有三个街区需要抓获,因此我建议如下:
rename 's/^.*(AAA.{6}).*(_R.).*(\.fastq.gz)/$1$2$3/' *.fastq.gz
第一块:AAA
后跟六个字符
第二块:\R
后跟一个字符
第三块:扩展名.fastq.gz