este
$echo '| foo | bar | baz |' | sed 's@^|[^|]*|\([^|]*\)|.*@\1@'
retorne bar
conforme desejar. Como eu faria o mesmo com opt -E
?
https://www.gnu.org/software/sed/manual/html_node/Extended-regexps.html
este
$echo '| foo | bar | baz |' | sed 's@^|[^|]*|\([^|]*\)|.*@\1@'
retorne bar
conforme desejar. Como eu faria o mesmo com opt -E
?
https://www.gnu.org/software/sed/manual/html_node/Extended-regexps.html
Tentar:
Notas:
Na regex estendida, os grupos são feitos com
(...)
em vez de\(...\)
.Em regex estendida,
|
geralmente significa alternância. Para interpretá-lo como um caractere, ele precisa ser escapado. (A exceção a esta regra está dentro de[...]
onde|
é apenas um caractere regular.Alternativa: usando awk