странное поведение при сопоставлении с образцом sed

Похоже, это невозможно . Похоже, что udisks2 не будет работать, так как он предназначен для медиафайлов.

1
22.01.2017, 01:08
1 ответ

Давайте немного изменим ваш шаблон, чтобы мы могли видеть, что происходит (просто добавьте ^. * в начало, чтобы вся строка ввода заменяется обратной ссылкой):

$ echo abc1xxxx@abc3abc4@111 | sed -rn 's/^.*((abc.|xxx.){3}).*/\1/p'
xxx@abc3abc4

Таким образом, она соответствует xxx @ , за которым следует abc3 , за которым следует abc4 . Это совершенно законно и ожидаемо, поскольку шаблон ищет три вхождения либо abc. или ххх. .

abc1x в начале вашей выходной строки никогда не подвергался влиянию шаблона и, следовательно, также никогда не заменялся подстановкой. Это просто было передано с ввода.

2
27.01.2020, 23:34

Теги

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