ファイル名の変更(常に同じでない一部の文字を削除)

ファイル名の変更(常に同じでない一部の文字を削除)

次の名前のファイルがあります。

DA1_ATGCATG_L001_R1.fastq.gz
Oeu43_TCATGAC_L004_R2.fastq.gz

最初の「_」の次の部分を削除したいのですが、それを取得するには、「_R」に名前の末尾を保持する必要があります。

DA1_R1.fastq.gz
Oeu43_R2.fastq.gz

どうすればいいですか?

ベストアンサー1

bashまたはPOSIXではsh

for file in *.fastq.gz; do
    mv -- "$file" "${file%%_*}_${file##*_}"
done

おすすめ記事