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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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

Оффлайн Stazot

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

Оффлайн Azure

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

Оффлайн Stazot

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

Оффлайн Azure

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


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

Оффлайн Stazot

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

Оффлайн Azure

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

Оффлайн Stazot

  • Автор темы
  • Участник
  • *
  • Сообщений: 146
    • Просмотр профиля
Спасибо огромное.

 

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