Tôi có một thư mục với ~ 10.000 tệp hình ảnh từ một nguồn bên ngoài.
Nhiều tên tệp chứa khoảng trắng và dấu chấm câu không thân thiện với DB hoặc thân thiện với Web. Tôi cũng muốn nối một số SKU vào cuối mỗi tên tệp (cho mục đích kế toán). Nhiều người, nếu không phải hầu hết các tên tệp cũng chứa các ký tự Latin mở rộng mà tôi muốn giữ cho mục đích SEO (cụ thể là tên tệp thể hiện chính xác nội dung tệp trong Google Images)
Tôi đã tạo một tập lệnh bash để đổi tên (bản sao) tất cả các tệp thành kết quả mong muốn của tôi. Tập lệnh bash được lưu trong UTF-8. Sau khi chạy, nó bỏ qua khoảng 500 tệp (không thể thống kê tệp ...).
Tôi đã chạy convmv -f UTF-8 -t UTF-8 trên thư mục và phát hiện ra 500 tên tệp này không được mã hóa trong UTF-8 (convmv có thể phát hiện và bỏ qua tên tệp đã có trong UTF-8)
Có một cách dễ dàng Tôi có thể tìm hiểu mà ngôn ngữ mã hóa hiện tại họ đang sử dụng?
Cách duy nhất tôi có thể tự mình tìm ra là bằng cách đặt mã hóa đầu cuối của mình thành UTF-8, sau đó lặp qua tất cả các mã hóa ứng cử viên có khả năng với confmv cho đến khi nó hiển thị một tên được chuyển đổi 'có vẻ đúng'. Tôi không có cách nào để chắc chắn rằng tất cả 500 tệp này đều sử dụng cùng một mã hóa, vì vậy tôi sẽ cần phải lặp lại quá trình này 500 lần. Tôi muốn một phương pháp tự động hơn là "có vẻ đúng" !!!