Linux
使用循環重命名多個文件
我需要使用循環重命名一些文件,但我無法讓它工作,因為我在 Linux 上還是個新手。需要重命名的文件有:
E9-GOWN33_multiplemap.bin.10.fa E9-GOWN33_multiplemap.bin.16.fa E9-GOWN33_multiplemap.bin.21.fa E9-GOWN33_multiplemap.bin.7.fa
改為更短的名稱,例如:
E9.bin.10.fa E9.bin.16.fa E9.bin.21.fa E9.bin.7.fa
我已經使用了
rename
andmv
和其他我線上程中看到的循環,但仍然無法讓它工作。非常感謝任何輸入!謝謝你!
如果你有 perl
rename
(在 Ubuntu、Debian 和許多其他系統上預設),你可以這樣做rename -n 's/-GOWN33_multiplemap//' *fa
如果這為您提供了正確的文件名,請在沒有
-n
實際重命名它們的情況下執行:rename 's/-GOWN33_multiplemap//' *fa
你可以試試這個:
for f in *.fa; do echo mv "$f" "${f%-*}.${f#*.}" done
結果:
E9.bin.10.fa E9.bin.16.fa E9.bin.21.fa E9.bin.7.fa