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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Как получить вхождение Регулярного Выражения из строки  (Прочитано 274 раз)

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

Оффлайн Stazot

  • Автор темы
  • Любитель
  • *
  • Сообщений: 99
    • Просмотр профиля
Народ, всем привет, нужна помощь. Возможно не в том разделе пишу но...
Вояю Shell скрипт  и мне нужно получить вхождение строки между определенными символами. На пример в Python сделал бы так:
reg=re.compile(r"^//([\w\d\._-]*?)\.*")
и после поиска получил бы набор символов между "слешей"
как это сделать в SelL-е не могу найти. писать специальный скрипт на питоне не хочется конечно.
« Последнее редактирование: 28 Март 2018, 15:22:07 от Stazot »

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 5441
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
вхождение строки между определенными символами
Было бы на порядок проще если бы Вы привели пример исходного текста и что из него надо получить
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Stazot

  • Автор темы
  • Любитель
  • *
  • Сообщений: 99
    • Просмотр профиля
Было бы на порядок проще если бы Вы привели пример исходного текста и что из него надо получить
Да не вопрос. мне надо делать бэкап на удаленный хост, и перед тем как монтировать //fileserver.local/bakup/db_backup и в нее копировать мне надо проверить доступен ли сервер.
то есть мне надо получить имя сервера, а оно может быть разным, по индексу не получить.

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 5441
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
получить имя сервера
Откуда получить? При чем здесь регулярные выражения?


Пользователь добавил сообщение 29 Март 2018, 14:46:00:
echo '//fileserver.local/bakup/db_backup' | cut -d / -f 3
« Последнее редактирование: 29 Март 2018, 14:46:00 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Stazot

  • Автор темы
  • Любитель
  • *
  • Сообщений: 99
    • Просмотр профиля
С сut и делиметром все хорошо, спасибо, но хотелось бы понять как с регулярным это реализовать.

Оффлайн Azure

  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 5441
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
echo '//fileserver.local/bakup/db_backup' | grep -oP '//\K[^/]*'
Пользователь добавил сообщение 29 Март 2018, 16:27:05:
echo '//fileserver.local/bakup/db_backup' | sed -n 's|//||;s|/|\n|;P'
Пользователь добавил сообщение 29 Март 2018, 16:32:55:
echo '//fileserver.local/bakup/db_backup' | sed -r 's|//([^/]+).*|\1|'
« Последнее редактирование: 29 Март 2018, 16:32:55 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Stazot

  • Автор темы
  • Любитель
  • *
  • Сообщений: 99
    • Просмотр профиля
Спасибо огромное.

 

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