Вы можете использовать это:
grep -Pzo '(?s)Reference.*?\.' tst.txt
где tst.txt
- ваш входной файл. Это то же регулярное выражение, что и у вас, но с двумя новыми флагами.
Я добавил флаг -z
, чтобы подавить перевод строки в конце строки, заменив его нулевым символом. Таким образом, grep
знает, где находится конец строки, но видит ввод как одну большую строку.
Флаг -o
означает, что он печатает только совпадающую часть.
Я получил следующий результат:
Reference duiarneutdigane uditraenturida enudtiar.
Reference uiae uiaetrtdnsu iatdne uiatrdenu diaren uidtae
on line 23.
Reference uriadne udtiraeb unledut iaeru uilaedr
uiarnde line 234.
Хорошо, преобразование комментария в ответ. Мы обнаружили через комментарии, что плакат использовал dd
для записи в первый раздел на устройстве, то есть / dev / sdx1
, а не на устройство в целом, / dev / sdx
. Результатом этого является то, что не было ничего пригодного для использования там, где должна была находиться основная загрузочная запись (при условии, что она загружалась как жесткий диск), и подпись CDROM также отсутствовала (в маловероятном случае, когда она пыталась загрузиться как оптическое устройство) .
Использование всего устройства
dd if=image.iso bs=1M of=/dev/sdx conv=fsync
устраняет проблему