使用 cut 删除文件名的多个部分

使用 cut 删除文件名的多个部分

我有一堆文件,其名称如下:

CI2_S1_20201120_S75_L001_R1_001.fastq.gz CI2_S2_20201120_S76_L001_R2_001.fastq.gz AV2_S2_20201120_S61_L001_R2_001.fastq.gz

我想将文件重命名为

CI2_S1_R1.fastq.gz CI2_S2_R2.fastq.gz AV2_S2_R2.fastq.gz

并删除中间的其他部分。我有这个与我共享的循环,但它没有改变任何东西。

for file in 'ls *.fastq.gz'
do
mv $file 'echo $file|cut -f1,2,6 -d "_" | sed 's/$/.fastq.gz/''
done

据我了解,cut -f1,2,6保留了我想要的部分并且-d "_"是分隔符。

任何帮助都将不胜感激!

相关内容