Траслит руских названий файлов

grey1970

Есть куча файлов, названных по русски. Есть ли программа, которое позволяет переименовать эти файлы транслитом? А то вручную как-то влом.

eduard615

ls | perl -ne '$c = $_; print join "", (pack "C*" , map {$_ > 128 ? $_-128 : $_} unpack "C*",$c) ;'

grey1970

А как это использовать?

eduard615

поставить перл и вперед

Ivan8209

Можно проще.
Можно не ставить перл.
Можно сделать скрипт для шелла и скормить его.
Примерно так:
ls |sed -e p | sed -f script.sed | sed -n -e "N;s/\n/ /;s/^/mv /p" | sh
script.sed:
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
p
y/однобуквенные/odnobukvennye/
s/ж/zh/g
s/я/ja/g
...
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
Седовский скрипт можно записать и прямо в команде, если потребуется.
---
"Не было по тем краям деревни, в которой бы пяток-другой жителей не давал богу клятвы убить [...] а он себе жил..."

grey1970

Спасибо!
Попробую

eduard615

ты думаешь, что у него есть сед но нет перла?

grey1970

Perl есть, а вот sed' а действительно нет

Ivan8209

И при этом есть ls и sh?
Чудная у тебя система.
Хотя в линуксовом мире ничему нельзя удивляться.
---
"Крепче держите попкорн, граждане, плохо ваше дело;
ща вылезет –-- устроит всем полный Армагеддец!"
( http://warrax.croco.net/71/evilname.html )
Оставить комментарий
Имя или ник:
Комментарий: