The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Кириллица в bash (shell), !*! Alex, 20-Фев-16, 10:12  [смотреть все]
файл в кодировке utf8, в нем есть кириллица, обычный html.
мне надо удалить все из файла, оставить только текст.
и понимаю что многие команды и регулярка не понимают кириллицу.

поделитесь опытом, кто как поступает в такой ситуации?

  • Кириллица в bash (shell), !*! Andrey Mitrofanov, 10:25 , 20-Фев-16 (1)
    > файл в кодировке utf8, в нем есть кириллица, обычный html.
    > мне надо удалить все из файла, оставить только текст.
    > и понимаю что многие команды и регулярка не понимают кириллицу.
    > поделитесь опытом, кто как поступает в такой ситуации?

    **License: GPL-3+

    /usr/lib/mc/ext.d/web.sh                        789/1097               71%
    #!/bin/sh
            
    # $1 - action
    # $2 - type of file

    action=$1        
    filetype=$2        

    [ -n "${MC_XDG_OPEN}" ] || MC_XDG_OPEN="xdg-open"
                                                                                              
    do_view_action() {
        filetype=$1

        case "${filetype}" in
        html)
            links -dump "${MC_EXT_FILENAME}" 2>/dev/null || \
                w3m -dump "${MC_EXT_FILENAME}" 2>/dev/null || \
                lynx -dump -force_html "${MC_EXT_FILENAME}"


    • Кириллица в bash (shell), !*! Alex, 11:21 , 20-Фев-16 (2) –1
      >         links w3m lynx

      спасибо, ловко!

      но вопрос как дальше разбирать кириллицу?

      sed, tr как то не очень ее обрабатывают..

      например, надо разобрать на слова, а все остальное удалить, включая пустые строки.

      • Кириллица в bash (shell), !*! Pahanivo, 11:47 , 20-Фев-16 (3)
        разбирай perl - он умеет работать с кодировками

      • Кириллица в bash (shell), !*! Andrey Mitrofanov, 12:16 , 20-Фев-16 (4)
        > но вопрос как дальше разбирать кириллицу?
        > sed, tr как то не очень ее обрабатывают..

        Возьми те, которые умеют.

        $ lynx -dump -nolist 106820+022-1.htm | tee >(wc -l >&2) |grep 'лицензи[юеяю]'
             распространяется под лицензией GPL.
              >Код Ardour распространяется под лицензией GPL

             нарушают лицензию GPL. Бинарник платный только из официального
        425
        $ lynx -dump -nolist 106820+022-1.htm | tee >(wc -w >&2) |egrep -ci '\<[а-я]+\>'
        1801
        239
        $ lynx -dump -nolist 106820+022-1.htm | tee >(wc -w >&2) |egrep -ci '\<[а-яА-Я]+\>'
        1801
        239
        $ lynx -dump -nolist 106820+022-1.htm |sed -nr 's/(лицензи)[юея]/\1Я!/p'
             распространяется под лицензиЯ!й GPL.
              >Код Ardour распространяется под лицензиЯ!й GPL

             нарушают лицензиЯ! GPL. Бинарник платный только из официального
        $ lynx -dump -nolist 106820+022-1.htm |grep 'лицензи[юея]' |tr е Я
             распространяЯтся под лицЯнзиЯй GPL.
              >Код Ardour распространяЯтся под лицЯнзиЯй GPL

             нарушают лицЯнзию GPL. Бинарник платный только из официального

        > например, надо разобрать на слова, а все остальное удалить, включая пустые строки.

        Тебе решение или совет?...

        • Кириллица в bash (shell), !*! Andrey Mitrofanov, 12:24 , 20-Фев-16 (5)
          >> но вопрос как дальше разбирать кириллицу?
          > $ lynx -dump -nolist 106820+022-1.htm |grep 'лицензи[юея]' |tr е Я
          >      распространяЯтся под лицЯнзиЯй GPL.
          >      >Код Ardour распространяЯтся под лицЯнзиЯй GPL
          >      нарушают лицЯнзию GPL. Бинарник платный только из
          > официального

          Чтоб вопросов про уникод не было:

          $ lynx -dump -nolist 106820+022-1.htm |grep -io 'зи[юея]' |tr е Я |od -t x1 |head -1
          0000000 d0 b7 d0 b8 d0 af 0a d0 b7 d0 b8 d0 af 0a d0 b7




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

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