= Сообщение: 9125 из 10753 ===================================== RU.UNIX.BSD = От : Eugene Grosbein 2:5006/1 12 Jul 19 13:00:35 Кому : Victor Sudakov 12 Jul 19 13:00:35 Тема : Re: pcre multiline FGHI : area://RU.UNIX.BSD?msgid=grosbein.net+792c9d3c На : area://RU.UNIX.BSD?msgid=2:5005/49+5d276505 = Кодировка сообщения определена как: IBM866 ================================= ============================================================================== 11 июля 2019, четверг, в 23:28 NOVT, Victor Sudakov написал(а):
EG>>>> Читаем man pcretest: EG>>>> Each data line is matched separately and independently. EG>>>> If you want to EG>>>> do multi-line matches, you have to use the \n escape EG>>>> sequence (or \r or EG>>>> \r\n, etc., depending on the newline setting) in a single EG>>>> line of input EG>>>> to encode the newline sequences. There is no limit on the VS>>> 1. Опция (?s) включает режим dotall: VS>>> . any character except newline; in dotall mode, any VS>>> character whatsoever EG>> Hо применяет pcretest это к each data line, то есть только к каждой EG>> строке файла *по отдельности*. VS> А, кажется понял: если я хочу потестировать многострочный поиск с помощью VS> pcretest, то мне нужно не реальный многострочный текст помещать в тестовый файл, VS> а имитировать концы строк с помощью "\n" внутри строки?
Судя по ману, да.
VS> А как/чем бы мне из командной строки потестировать сабж, чтобы работало как в VS> https://regex101.com/ ?
Hикогда не пользовался ни тем, ни тем. Hапример, при помощи sed и tr заменить переводы строк на \n ?
#!/bin/sh # mypcretest
sed '$!s/$/\\n/' $* | tr -d '\n' | pcretest
Eugene -- Поэты - страшные люди. У них все святое. --- slrn/1.0.3 (FreeBSD) * Origin: RDTC JSC (2:5006/1@fidonet)