Intereting Posts
Я хочу отправить черный список в amavisd-new из домена, где адреса отправителя закодированы в utf8 Предупреждение Libgcrypt: MD5 используется – режим FIPS инактивирован Linux IPTables – игнорировать диапазон IP-адресов Как повторно активировать службу удаленного рабочего стола «Нет машины» с помощью командной строки? Проблема Fedora VNC – получение серого экрана с тремя флажками Как печатать только одно совпадение grep, когда tail -f? Выражение скобки не работает в поиске regex Как проверить модуль ядра на мобильном устройстве? VAAPI или VDPAU, какой из них – новейшая технология? Как переформатировать имена каталогов? В чем разница между ** pts ** и ** tty ** и **: 0 **? Как узнать, написан ли сценарий оболочки в bash или sh Очистить все снимки Snapper Как скопировать из командной строки без GUI или мыши Перенаправление журнала происходит с повернутым журналом вместо создания нового журнала

Сопоставьте все после обратной косой черты и перед пробелом

У меня есть строки, похожие на следующие:

*unknown*\*unknown* (8) hello\morning (3) 

Я пытаюсь подобрать только morning или *unknown\* .

До сих пор я пробовал:

 [^\\]+$ 

Но это соответствует от обратной косой черты до конца строки, чего я не хочу.

С grep :

 grep -oP '(?<=\\)[^\\ ]+' file 

-o выводит только соответствующий шаблон. (?<=...) является положительным взглядом, который соответствует обратной косой чертой \\ , но он не является частью шаблона соответствия. Второй шаблон [^\\ ]+ следует за обратной косой чертой и содержит все символы, но без обратных косых черт и пробелов.


Выход:

 *unknown* morning