Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: bash и grep спецсимволы  (Прочитано 5602 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: bash и grep спецсимволы
« Ответ #15 : 21 Ноября 2014, 16:34:24 »
как с помощью grep вывести все строки, содержащие только печатные символы
LESS='-p :print:' man grep

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: bash и grep спецсимволы
« Ответ #16 : 21 Ноября 2014, 18:28:57 »
grep -v "[^[:print:]]\|[а-яА-Я]"
« Последнее редактирование: 21 Ноября 2014, 18:32:22 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Back_man

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: bash и grep спецсимволы
« Ответ #17 : 24 Ноября 2014, 09:46:22 »
Спасибо за Ваш ответ.

Но выходной файл после обработки этой командой с приведенными Вами параметрами остался вообще пустой, хотя во входном нем есть строки содержащие буквы русского алфавита или полностью состоящие из него или строки вида "™••†•kostik.s.pavlodara••†•™", "•†™IIAXAH™†•"  и т.д.
« Последнее редактирование: 24 Ноября 2014, 15:41:05 от Back_man »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: bash и grep спецсимволы
« Ответ #18 : 25 Ноября 2014, 14:49:58 »
"™••†•kostik.s.pavlodara••†•™", "•†™IIAXAH™†•"
Эти символы входят в те же классы, что и обычные символы пунктуации.
Если вы хотите отфильтровать подобные строки, нужно явно определить список допустимых символов для пунктуации.

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: bash и grep спецсимволы
« Ответ #19 : 26 Ноября 2014, 14:26:29 »
Вы для начала всё же определитесь, что Вы хотите
есть строки содержащие буквы русского алфавита или полностью состоящие из него или строки вида "™••†•kostik.s.pavlodara••†•™", "•†™IIAXAH™†•"  и т.д.
На выходе должны быть строки в которых не содержится ни одной русской буквы или непечатываемого символа.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Back_man

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: bash и grep спецсимволы
« Ответ #20 : 02 Декабря 2014, 15:50:54 »
        Итак, что я хочу: получить после обработки файлы, строки в которых НЕ будут состоять из букв русского алфавита (строка не годится, если в ней есть хотя бы одна буква русского алфавита), так же хотелось бы очистить от строк, где содержаться символы, которые нельзя явно задать с клавиатуры (пример: см сообщение от "24 Ноябрь 2014, 10:46:22").

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: bash и grep спецсимволы
« Ответ #21 : 02 Декабря 2014, 18:43:53 »
Back_man,
Где-то так:grep -x "[ -}0-9a-zA-Z~]*"
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: bash и grep спецсимволы
« Ответ #22 : 02 Декабря 2014, 19:49:27 »
Back_man,
grep -Pv '[^\t -~]'

 

Страница сгенерирована за 0.047 секунд. Запросов: 25.