Batch menghapus nomor trek dari file musik sekaligus

1

Saya memiliki sekitar 600 file lagu mp3 dalam satu folder. Semua trek memiliki nomor sebelum namanya. Saya ingin menghapus nomor trek dari semua file. Ya saya tahu saya bisa mengganti nama file-file itu dan menghapus angka-angka secara manual. Tetapi dengan mengubah semua file satu per satu akan memakan banyak waktu. Saya ingin tahu apakah ada metode lain yang dapat menghapus nomor trek pada suatu waktu? Untuk informasi Anda, saya menggunakan Ubuntu 12.04. Mohon bantu saya. Setiap saran dan bantuan akan sangat dihargai. Terima kasih

pengguna159377
sumber
Apakah semua angka sama panjang atau dipisahkan oleh tanda hubung? (mis. semua MP3 adalah 01-songname.mp3. Itu akan memungkinkan pemfilteran pada dasbor, mis cut -d'-' -f2-. via . Itu dapat dikombinasikan denganfor song in *.mp3 l do something with mv and with cut ; done
Hennes

Jawaban:

2
  1. Instal EasyTAG dari Pusat Perangkat Lunak Ubuntu.
  2. Buka EasyTAG dan ramban ke direktori yang berisi semua file musik Anda.
  3. Pilih semua file lagu mp3 Anda. Mereka semua akan terdaftar di panel tengah, termasuk file lagu yang ada di sub-direktori.
  4. Klik tombol "Pindai File" di bilah menu yang memiliki ikon dengan gambar halaman hijau muda dan putih.
  5. Dalam opsi "Pemindai" pilih "Ubah Nama File dan Direktori".
  6. Di bidang input berjudul "Ganti Nama File dan Direktori" ketik % t .
  7. Klik pada tombol "Simpan File". Ini memiliki ikon dengan gambar hard drive dengan panah hijau di atasnya. Konfirmasikan bahwa Anda ingin operasi penggantian nama berlaku untuk semua file yang dipilih.

Itu semua yang ada untuk itu. Anda baru saja mengganti nama semua 600 file. Ini tidak mengubah tag metadata, hanya nama file.

karel
sumber
1

Cara termudah untuk melakukan ini adalah dengan renamedi command-line. Sebagai contoh:

rename 's/^\d\d //' ./*.mp3

... ini akan mengubah file yang dipanggil 01 trackname.mp3menjadi trackname.mp3, dan akan berfungsi pada semua * .mp3s di direktori kerja.

\dadalah perlexpr untuk [0-9], dan ^berarti 'awal dari string' (sehingga tidak akan menghilangkan angka apa pun di dalam trackname). Anda dapat mengubah /^\d\d /agar sesuai dengan pola apa pun yang Anda inginkan - jika Anda ingin menghilangkan -, Anda bisa melakukannya.

Atau, Anda dapat menggunakan bash saja:

for f in ./*.mp3; do mv "$f" "${f#[0-9][0-9] }"; done

Jika Anda memiliki file di banyak direktori, maka Anda harus menggunakannya find. Katakanlah Anda ingin mengganti nama setiap * .mp3 di ~ / Musik dan semua subdirektori:

find ~/Music -type f -name '*.mp3' -exec rename 's/^\d\d //' {} \;
##  or
find ~/Music -type f -name '*.mp3' -exec bash -c 'mv "$0" "${0#[0-9][0-9] }"' {} \;
Evilsoup
sumber