Похоже, это невозможно . Похоже, что udisks2 не будет работать, так как он предназначен для медиафайлов.
Давайте немного изменим ваш шаблон, чтобы мы могли видеть, что происходит (просто добавьте ^. *
в начало, чтобы вся строка ввода заменяется обратной ссылкой):
$ echo abc1xxxx@abc3abc4@111 | sed -rn 's/^.*((abc.|xxx.){3}).*/\1/p'
xxx@abc3abc4
Таким образом, она соответствует xxx @
, за которым следует abc3
, за которым следует abc4
. Это совершенно законно и ожидаемо, поскольку шаблон ищет три вхождения либо abc.
или ххх.
.
abc1x
в начале вашей выходной строки никогда не подвергался влиянию шаблона и, следовательно, также никогда не заменялся подстановкой. Это просто было передано с ввода.