Есть ли в sed утверждения нулевой ширины?

В эти дни /dev находится на tmpfs и создается с нуля каждая начальная загрузка udev. Можно безопасно перезагрузить, и эти ссылки возвратятся.

Необходимо также найти символьные ссылки LVM на /dev/dm-X узлы в /dev/<vg> каталоги, один каталог для каждой группы объема. Однако те узлы, воссозданные vgscan --mknodes будет также хорошо работать, предполагая, что у них есть правильные главные/незначительные числа - и это - безопасное предположение, они были созданы правильно.

Можно, вероятно, также добраться udev воссоздать использование символьных ссылок udevadm trigger с соответствующим соответствием, тестирующим с --dry-run пока это не правильно. Едва кажется стоящим усилия хотя, когда перезагрузка зафиксирует его также.

6
08.07.2011, 15:05
1 ответ

Нет, нет. У Вас только есть основные регулярные выражения, которые только имеют наборы символов (. и […]), повторение (* и \{m,*n*\}), привязки к строке (^ и $) и группировка \(…\), плюс обратные ссылки \N. Некоторые sed реализации имеют больше синтаксиса повторения (\+ и \?), чередование (\|), дополнительные привязки (\b, \B, \<, \>). Ни один, о чем я знаю, не имеет общие утверждения нулевой ширины, необходимо обратиться к Perl (или другие инструменты, которые поддерживают PCRE) для этого.

Много использования утверждений нулевой ширины могут быть эмулированы с общими регулярными выражениями, с помощью обратных ссылок. Например, Perl s/foo(?=bar)/FOO/ может быть записан s/foo\(bar\)/FOO\1/.

2
27.01.2020, 20:30

Теги

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