LINUX.ORG.RU

$ echo Есть у кого скриптец, чтобы сделать транслит названий кучи файлов? \
> |iconv -c -t koi-7 |tr '[[:upper:]]' '[[:lower:]]'
estx u kogo skriptec, ^toby sdelatx translit nazwanij ku^i fajlow?
anonymous
()

Говнокод

    r=$(echo $r | sed 's/Ё/O/g' | sed 's/ё/o/g' | sed 's/Й/Y/g' | sed 's/Ц/C/g' | sed 's/У/U/g' | sed 's/К/K/g' | sed 's/Е/E/g' | sed 's/Н/N/g' | sed 's/Г/G/g' | sed 's/Ш/SH/g' | sed 's/Щ/SCH/g' | sed 's/З/Z/g' | sed 's/Х/H/g' | sed 's/Ъ//g' | sed 's/Ф/F/g' | sed 's/Ы/Y/g' | sed 's/В/V/g' | sed 's/А/A/g' | sed 's/П/P/g' | sed 's/Р/R/g' | sed 's/О/O/g' | sed 's/Л/L/g' | sed 's/Д/D/g' | sed 's/Ж/J/g' | sed 's/Э/E/g' | sed 's/Я/YA/g' | sed 's/Ч/CH/g' | sed 's/С/S/g' | sed 's/М/M/g' | sed 's/И/I/g' | sed 's/Т/T/g' | sed 's/Ь//g' | sed 's/Б/B/g' | sed 's/Ю/YU/g' | sed 's/й/y/g' | sed 's/ц/c/g' | sed 's/у/u/g' | sed 's/к/k/g' | sed 's/е/e/g' | sed 's/н/n/g' | sed 's/г/g/g' | sed 's/ш/sh/g' | sed 's/щ/sch/g' | sed 's/з/z/g' | sed 's/х/h/g' | sed 's/ъ//g' | sed 's/ф/f/g' | sed 's/ы/y/g' | sed 's/в/v/g' | sed 's/а/a/g' | sed 's/п/p/g' | sed 's/р/r/g' | sed 's/о/o/g' | sed 's/л/l/g' | sed 's/д/d/g' | sed 's/ж/j/g' | sed 's/э/e/g' | sed 's/я/ya/g' | sed 's/ч/ch/g' | sed 's/с/s/g' | sed 's/м/m/g' | sed 's/и/i/g' | sed 's/т/t/g' | sed 's/ь//g' | sed 's/б/b/g' | sed 's/ю/yu/g' ) # translation
schizoid ★★★
()
Ответ на: комментарий от Frakhtan-teh

Для большего соответствия теме поста

YAR ★★★★★
()
Ответ на: комментарий от Frakhtan-teh

facepalm.ttf.iso

sed 'первая замена;вторая замена;третья замена'

anonymous
()
Ответ на: комментарий от Frakhtan-teh

зачем столько команд, если их можно писать через точку с запятой?

drBatty ★★
()
Ответ на: комментарий от Frakhtan-teh

Да, знаю. Писалось несколько лет назад и не трогалось по причине редкого использования :)

А все односимвольные замены вообще лучше свести в один вызов tr.

schizoid ★★★
()
Ответ на: Говнокод от schizoid

А ещё для замены одной буквы одной буквой можно использовать y///:

sed 'y/ЁЙЦУКЕНГЗХФЫВАПРОЛДЖЭСМИИТЬБёйцукенгзхфывапролджэсмитб/OYCUKENGZHFYVAPROLDJESMITBoycukengzhfyvaproldjesmitb/ ; s/Ш/SH/g ; s/Щ/SCH/g ; s/Ъ//g ; s/Я/YA/g ; s/Ч/CH/g ; s/Ь//g ; s/Ю/YU/g ; s/ш/sh/g ; s/щ/sch/g ; s/ъ//g ; s/я/ya/g ; s/ч/ch/g ; s/ь//g ; s/ю/yu/g'

olegd ★★★
()
Ответ на: комментарий от sphericalhorse

Потому что про твой rnmit знает bash, но ничего не известно шеллу, запускаемому find'ом

YAR ★★★★★
()

В упор не могу написать сценарий :(

sphericalhorse ★★★★★
() автор топика
Ответ на: комментарий от sphericalhorse
find ./ -type d | while read line; do
  rnmit "$line"
done
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.