У мене є каталог із ~ 10000 файлів зображень із зовнішнього джерела.
Багато імен файлів містять пробіли та розділові знаки, які не є дружніми до БД або веб-переглядача. Я також хочу додати номер SKU до кінця кожного імені файлу (з метою обліку). Багато, якщо не більшість імен файлів, також містять розширені латинські символи, які я хочу зберегти для цілей SEO (зокрема, щоб файли точно відображали вміст файлу в Google Images)
Я створив скрипт bash, який перейменовує (копіює) всі файли до бажаного результату. Сценарій bash зберігається в UTF-8. Після запуску він пропускає близько 500 файлів (не вдається встановити файл ...).
Я запустив convmv -f UTF-8 -t UTF-8 у каталозі, і виявив, що ці 500 імен файлів не закодовані в UTF-8 (convmv здатний виявляти та ігнорувати імена файлів уже в UTF-8)
Чи є простий спосіб я дізнатися, яку кодову мову вони зараз використовують?
Єдиний спосіб, який я зміг зрозуміти, - це встановити кодування свого терміналу на UTF-8, а потім повторювати всі можливі кодування кандидата з convmv, поки не з’явиться перетворене ім'я, яке "виглядає правильно". Я не можу бути впевненим, що всі ці 500 файлів використовують одне і те ж кодування, тому мені потрібно буде повторити цей процес 500 разів. Я хотів би більш автоматизований метод, ніж "виглядає правильно" !!!