Saya menggunakan satu-baris ini untuk menghapus karakter yang tidak valid dalam file subtitle:
for f in *.srt; do nf=$(echo "$f" |sed -e 's/[^A-Za-z0-9.-]/./g;s/\.\.\././g;s/\.\././g'); test "$f" != "$nf" && mv "$f" "$nf" && echo "$nf"; done
- Hanya memproses file * .srt (* dapat digunakan sebagai pengganti * .srt untuk memproses setiap file)
- Menghapus semua karakter lain kecuali huruf A-Za-z, angka 0-9, titik ".", Dan tanda hubung "-"
- Menghapus kemungkinan periode dua atau tiga
- Cek untuk melihat apakah nama file perlu diubah
- Jika benar, ia mengganti nama file dengan perintah mv, kemudian menampilkan perubahan yang dibuatnya dengan perintah echo
Ini berfungsi untuk menormalkan nama direktori film:
for f in */; do nf=$(echo "$f" |sed -e 's/[^A-Za-z0-9.]/./g' -e 's/\.\.\././g' -e 's/\.\././g' -e 's/\.*$//'); test "$f" != "$nf" && mv "$f" "$nf" && echo "$nf"; done
Langkah-langkah yang sama seperti di atas, tetapi saya menambahkan satu perintah sed lagi untuk menghapus periode di akhir direktori
X-Men Days of Future Past (2014) [1080p]
Dimodifikasi ke:
X-Men.Days.of.Future.Past.2014.1080p