LINUX.ORG.RU

Получить название учетной записи из файла

 


0

1

Как только не игрался с sed (в котором толком не разбираюсь) не удаётся получить отдельно именно учетную запись пользователя (pvasechkin) из файла со следующим текстом:

Учетная запись (pvasechkin) будет отключена: 20.01.2017 в связи с увольнением Васечкина П.А. 16.01.2017 (01-10/45-лс)

Подключенные сервисы:
 *   Интернет
 *   Лотус
 *   Почтовый ящик: pvasechkin@domain.local;

Удалось получить только строку. По идее, можно просто из первой строки показать все символы латиницы.

Ооо! Обнаружил, что ерунду спросил. Имя учетки-то не одно и то же, вот в чем суть.



Последнее исправление: firebolt (всего исправлений: 1)
Ответ на: комментарий от UVV

Точно.

grep -oP '\(\K[^)]+'

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

firebolt
() автор топика
Ответ на: комментарий от Deleted

Как более извращенный случай, если от фразы «Учетная запись» нельзя отталкиваться.

grep -Po '(?<=\()[A-z0-9_-]+(?=\))'

Поправить в соответствии с принятыми правилами именования учетных записей. Но и тут могут быть ложные срабатывания.

Deleted
()
Ответ на: комментарий от firebolt

Если в строке будет еще один блок с содержимым, подходящим под регулярку [A-z0-9_-]. Например что-то типа test_user:

Учетная запись (pvasechkin) будет отключена: 20.01.2017 в связи с увольнением Васечкина П.А. 16.01.2017 (test_user)

Но если же Вам нужно просто всегда брать содержимое первого блока () и на машине есть awk - стоит обратить внимание на вариант от ананимуса выше.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.