次のファイルがいくつかあります。
sub_TK273759_R1.fastq
sub_TK273759_R2.fastq
sub_TK273763_R1.fastq
sub_TK273763_R2.fastq
sub_TK273766_R1.fastq
sub_TK273766_R1.fastq
次のようにすべてのファイルの名前を変更するには:
TK273759_R1.fastq
TK273759_R2.fastq
TK273763_R1.fastq
TK273763_R2.fastq
TK273766_R1.fastq
TK273766_R2.fastq
答え1
2つのバージョンがありますrename
。使用しているバージョンに応じて、次のいずれかが適しています。
rename sub_ '' sub_* # rename -V -> "rename from util-linux 2.33.1"
rename 's/^sub_//' sub_* # rename -V -> "Unknown option: V"
ターゲットファイル名がすでに存在する場合、これら2つは反対です。
あるいは、ループを使用することもできますが、はるかに効率的ではありません。
for f in sub_*
do
mv "$f" "${f#sub_}"
done
ターゲットファイル名がすでに存在する場合は自動的に上書きされます。