Seu padrão de sed \.[^.]*$
tem apenas uma correspondência para a string original: .log
.
Detalhes:
-
\.
corresponde apenas a um caractere de ponto. -
[^.]
corresponde a qualquer caractere diferente de.
-
[^.]*
corresponde a qualquer sequência de caracteres diferente de.
-
$
corresponde ao fim da linha.
Portanto, a% final .log
é a única correspondência ( .stuvwy.log
não é uma correspondência porque contém um ponto interno). sed
substituirá isso pela string vazia, conforme solicitado pelo comando s/\.[^.]*$//
. Portanto, você acaba com:
abcdef.ghijkl.mnopqr.stuvwy