К полужирному одна строка с Perl regex

sestatus показывает текущий режим как permissive.

В permissive режиме SELinux ничего не блокирует, а только предупреждает. В строке будет показано принуждение, когда оно на самом деле блокируется.

Я не верю, что можно полностью отключить SELinux без перезагрузки.

.
1
05.06.2014, 20:10
3 ответа

Поскольку -000 превращает каждый «абзац» в «строка», вы можете использовать классические привязки регулярных выражений ( ^ и $ ), чтобы сопоставить начало и конец каждой «строки». Итак, в вашем случае все, что вам нужно, это:

$ perl -000pe 's/^(.+)\n/\\textbf{$1}\n/;' file 
\textbf{1. Lorem}
He he he

\textbf{2. Lorem }
ipsun

Обратите внимание, что \ необходимо экранировать ( \\ ), потому что \ является специальный символ, используемый для побега от других, поэтому вам также нужно использовать его, чтобы убежать от самого себя.


Если у вас могут быть комментарии в качестве первой строки абзаца, то этот подход не работает, и вам нужно выделить жирным шрифтом все строки, начинающиеся с номера:

perl -pe 's/^\d\..+/\\textbf{$&}/' file
1
27.01.2020, 23:28

Я использовал параметр -0777 , который загружает в память сразу весь файл. Затем вы можете заменить символы новой строки:

perl -0777 -pe 's/\n(\d\..*)/\n\\textbf{$1}/g'
1
27.01.2020, 23:28

Попробуйте следующее:

$ perl -ple '$_ = "\\textbf{$_}" if /^\d/' cat2
\textbf{1. Lorem}
He he he

\textbf{2. Lorem}
ipsun
1
27.01.2020, 23:28

Теги

Похожие вопросы