Masalah saya adalah karena beberapa alasan saya memiliki duplikat dari beberapa trek musik. Namun mereka tidak disebutkan namanya. Contohnya:
Music / Prefuse 73 / One Word Extinguisher / 07. Detchibe.mp3
&
Music / Prefuse 73 / One Word Extinguisher / 07 - Detchibe.mp3
Perhatikan mereka adalah lagu duplikat tetapi 07 * . * & the 07 - menipu para pencari file duplikat yang mencari berdasarkan nama file.
11.10
banshee
music
duplicate-files
John McKean Pruitt
sumber
sumber
Jawaban:
Anda dapat menggunakan
fdupes
seperti jawaban untuk pertanyaan »Cara menemukan dan menghapus file duplikat« disarankan. Biarkan saya memberi contoh:Pertama saya membuat direktori seperti pada contoh Anda. Saya membuat file dari data acak dan menyalin isinya ke file lain. Ketika saya menjalankan
fdupes -rd
perangkat lunak menemukan dua file yang tepat dan meminta yang mana untuk dihapus.Jika Anda memiliki banyak file, Anda dapat menggunakan opsi ini
-1
.fdupes
akan mencetak semua duplikat pada satu baris. Anda dapat memprosesnya denganxargs
dan fitur shell lainnya.sumber
fdupes
sepertinya tidak masuk ke dalam sub folder. Misalnya~/Desktop/Dupes2/
memiliki folder di dalamnya berjudul Blood Sugar Sex Magik dengan Dupes, namunfdupes -r
perintah sederhana tidak mengembalikan daftar apa pun.Saya menemukan rantai perintah yang agak sederhana. Terima kasih banyak kepada @Oli.
Ini digunakan
fdupes
untuk secara rekursif (-r
) menemukan dupes, menghilangkan yang pertama (-f
). Bash membaca baris ini demi baris melaluiread
tangan amd setiap barismv
untuk memindahkan semua duplikat ke direktori lain. Perhatikan penggunaan tanda kutip dalamwhile
loop untuk menangani spasi dan tanda baca cerdik lainnya yangfdupes
tidak akan menangani (bahkan dengan-1
/--sameline
).sumber
Dalam jawaban untuk Secara manual mengatur jumlah mendengarkan lagu di Banshee? , ini menjelaskan cara mendapatkan di database yang digunakan banshee untuk menyimpan semua informasi trek.
Setelah Anda terhubung ke database, pada tabel permintaan eksekusi, tempel
ke dalam kotak string SQL, lalu klik 'jalankan permintaan'. Ini akan menunjukkan semua trek yang Anda miliki dengan judul yang sama dengan mengabaikan spasi, tanda hubung, dan titik. Jika ada karakter lain yang ingin Anda abaikan, tambahkan mereka ke kueri dengan pola yang sama. (IE tambahkan
replace(
sebelum "ganti" pertama dan setelah ")" pada baris itu, tambahkan, '[character you want removed]', '')
.(Saya tidak tahu seberapa banyak yang Anda ketahui tentang sql - jika Anda memerlukan detail lebih lanjut, kirimkan komentar.)
Ini akan memberi Anda daftar judul. Anda harus benar-benar menghapusnya sendiri.
Mungkin ada cara yang lebih baik untuk melakukan ini, tetapi jika ada, saya tidak tahu tentang itu.
Setelah Anda memiliki daftar besar file yang akan dihapus (baik dari metode saya atau dari yang
fdupes
lain telah disebutkan), masukkan daftar file yang ingin Anda hapus ke dalam direktori teks. Pastikan salah satu dari yang berikut ini benar:Opsi # 1: Nama file berisi path lengkap. Misalnya file tersebut mungkin berisi:
Opsi # 2: Nama file berisi path relatif, dan file dengan daftar nama file disimpan di folder induk. Misalnya, jika daftar file Anda disimpan
/home/doneill/music/
, itu akan berisi:Dalam kedua kasus, buka jendela terminal, dan ubah ke folder yang berisi file dengan daftar
cd /home/doneill/music/
misalnya.Ketikkan:
(Mengganti filelist.txt dengan nama file dengan daftar) Ini harus memuntahkan daftar semua file yang ingin Anda hapus. Luangkan waktu sejenak untuk memeriksa daftar. Jika benar, ketikkan:
Ini pada dasarnya memberitahu komputer Anda: untuk setiap baris dalam file
filelist.txt
, hapus file dengan nama yang tercantum.sumber
sqlitebrowser
jika itu tidak dimasukkan ke dalam menu Anda ketika Anda menginstalnya). 2) File -> Buka. 3) Ketikkan/home/[user]/.config/banshee-1/
pada bilah alamat 'Lihat' (ganti [pengguna] dengan nama pengguna Anda). 4) Klik dua kalibanshee.db
.