The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Bash Brainstorm  , pavlinux (ok), 23-Мрт-13, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


27. "Bash Brainstorm  "  +/
Сообщение от John (??), 30-Июн-13, 22:09 
>>> Задача: Заменить в тексте все буквы русского алфавита на схожие по-написанию латинские.
>> #!/bin/bash --posix
>>     echo -n "$CHAR"
> [ "$CHAR" ] && echo -n "$CHAR" || echo
> Там же наверху _видно_, что с bash --posix _перевод строки_ нужно отдельно
> камлать.

Да, я не посмотрел как будет с переводом строк. С данной конструкцией работает как надо.
#!/bin/bash --posix

while read -n 1 CHAR
do
    CHAR="${CHAR/А/A}"
    CHAR="${CHAR/В/B}"
    CHAR="${CHAR/Е/E}"
    CHAR="${CHAR/К/K}"
    CHAR="${CHAR/М/M}"
    CHAR="${CHAR/Н/H}"
    CHAR="${CHAR/О/O}"
    CHAR="${CHAR/Р/P}"
    CHAR="${CHAR/С/C}"
    CHAR="${CHAR/Т/T}"
    CHAR="${CHAR/Х/X}"
    CHAR="${CHAR/а/a}"
    CHAR="${CHAR/е/e}"
    CHAR="${CHAR/о/o}"
    CHAR="${CHAR/р/p}"
    CHAR="${CHAR/с/c}"
    CHAR="${CHAR/у/y}"
    CHAR="${CHAR/х/x}"

    [ "$CHAR" ] && echo -n "$CHAR" || echo
done

Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

29. "Bash Brainstorm  "  +/
Сообщение от pavlinux (ok), 29-Июл-13, 02:24 
> С данной конструкцией работает как надо.

Ваще жопа, проц на 100% нагружает! И оно строки переносит!!!

----


$ time lzma -cd  VNM.txt.lzma | sed -e 's/А/A/g' -e 's/В/B/g' \
                                    -e 's/Е/E/g' -e 's/К/K/g' \
                                    -e 's/М/M/g' -e 's/Н/H/g' \
                                    -e 's/О/O/g' -e 's/Р/P/g' \
                                    -e 's/С/C/g' -e 's/Т/T/g' \
                                    -e 's/Х/X/g' -e 's/а/a/g' \
                                    -e 's/е/e/g' -e 's/о/o/g' \
                                    -e 's/р/p/g' -e 's/с/c/g' \
                                    -e 's/у/y/g' -e 's/х/x/g' \
                                                   > /dev/null;  

real    0m2.387s
user    0m2.488s
sys     0m0.037s


Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру