Estou lutando com um problema sed
no bash que ocorre no macOS e no Ubuntu. Durante uma longa sessão de depuração, apontei para este exemplo mínimo:
echo "abcde" | sed 's/.*/x/'
o que resulta em:
x
O que faz sentido, pois o regex in sed
substitui qualquer entrada por x
.
De forma similar:
echo "" | sed 's/.*/x/'
x
echo "-a" | sed 's/.*/x/'
x
Et cetera. No entanto:
echo "-n" | sed 's/.*/x/'
Observe que a saída agora está vazia .
O que está acontecendo? Por que "-n"
uma entrada deve ser sed
tratada de maneira diferente de qualquer outra (ou nenhuma) entrada?