Использование GNUawk
:
$ awk -v RS='\n\n' '$NF !~ /[[:punct:]]$/' file
Now we have a second paragraph
that continues in a new line,
but the full stop is missing
Это устанавливает разделитель записей в последовательность из двух новых строк. Это означает, что каждый абзац будет записью. Если последнее поле записи (слово )не заканчивается знаком препинания (одним из !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
), то печатается абзац.
Вместо [[:punct:]]
вы можете использовать меньший класс символов, например [.!?]
, если это более уместно.
Если вы хотите включить в вывод номер абзаца вместе с декоративным текстом, используйте
$ awk -v RS='\n\n' '$NF !~ /[[:punct:]]$/ { printf("ERROR (%d):\n%s\n", FNR, $0) }' file
ERROR (2):
Now we have a second paragraph
that continues in a new line,
but the full stop is missing
Ваш grep
не работает, так как grep
по умолчанию читает по одной строке за раз. Поэтому вы не можете ожидать совпадения с чем-либо после привязки конца строки $
.
Это не имеет ничего общего с checkinstall, я отказался от попыток, вместо этого я собрал deb вручную и написал для этого скрипт:https://github.com/Itai-Nelken/qemu2debна бета-версии RPiOS arm64 checkinstall работал отлично.
надеюсь, что это поможет.