ディレクトリに複数のfastq.gzファイルがあります。私は各ファイル名の一部を削除したいと思います。ここにファイル名がありますLinuxの複数のファイル名の一部を削除します
RES-1448-001_S289_L001_R1_001.fastq.gz
RES-1448-001_S289_L001_R2_001.fastq.gz
RES-1448-012_S300_L001_R1_001.fastq.gz
RES-1448-012_S300_L001_R2_001.fastq.gz
L001の後にSと3桁を削除したいと思います。
for file in *.fastq.gz; do
start=${file%%_*} ## Gets only the portion before first `_`
end=${file#*_*_*_*} ## Gets the portion after 3 `_`s from start
echo mv -- "$file" "${start}_${end}"
done
これは単なるecho
mv
コマンドが実行されますが、満足している場合削除:私は
RES-1448-001_R1_001.fastq.gz
RES-1448-001_R2_001.fastq.gz
RES-1448-012_R1_001.fastq.gz
RES-1448-012_R2_001.fastq.gz
が
bash
パラメータ展開してあなたの助け
$ {thefilename:1:13} $ {thefilename:24:15}あなたのファイル名フォーマットの正確なタイプである場合を示しています。 –