[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: translit filename



On 2005.03.24 at 02:32:14 +0200, Fedir Gontsa wrote:

> Привет Уважаемые!
> Возникла проблема не знаю как решить, много часов рыл гуглом ничего так толкового не нашел (не пинайте ногами)
> 
> посоветуйте как перекодировать кирилические символы имен файлов в латинские, тоесть транслит.
> есть много файлов одни в ср1251 другие koi8-u названы кирилицей, и это вызивает большое неудобство, при работе с ними.
> Также как пробелы в имени убрать?

В принципе , базовый подход для массового переименования файлов в unix
shell это
for i in *; do mv "$i" "`echo $i|преобразователь имен`"; done

где преобразователь имен - некая программа, читающая имя со stdin и
пишущая на stdout.

Для данной задачи - преобразовать русские буквы в транслит, и заменить
пробелы на подчерки, можно использовать например, такой преобразователь:

catdoc -s cp1251 -d us-ascii|tr ' ' '_'

Возможно, konwert или ещё какой перекодировщик, умеющий транслит,
понравится тебе больше, чем catdoc.  



Reply to: