Você está analisando algum texto para extrair o nome de usuário de uma string domain\username
, provavelmente do Windows. A maioria das respostas acima está apenas endereçando sua string de exemplo específica.
A melhor maneira de fazer isso é usando o regex in sed para extrair o que vem depois de \
. Veja como você faria isso:
sed 's|.*\\(.*\)||'
Isso corresponderá a tudo ( .*
) até uma barra invertida (aqui, estamos escapando, por isso é \
), depois corresponderá tudo após a barra invertida ( .*
), mas tornando-o um grupo de captura ou seja, coloque os suportes ao redor, mas também temos que escapar deles, então \(.*\)
). Agora que temos o que vem depois do \
na string como um grupo de captura, nós o imprimimos referenciando-o com
.
Você pode usar o comando sed
acima com qualquer nome de domínio, não necessariamente randomcollege-nt
.
$ echo "randomcollege-nt\user90" | sed 's|.*\\(.*\)||'
user90
$ echo "domain\username" | sed 's|.*\\(.*\)||'
username
$ echo "anydomainname\roboman1723" | sed 's|.*\\(.*\)||'
roboman1723