Você pode usar as funções de string em awk
.
$ (echo BASH.NIR; echo SH.ABI FOOBAR) | awk '{p=index($1,".");print "User is", substr($1,p+1) ", SHELL IS", substr($1,0,p-1)}'
User is NIR, SHELL IS BASH
User is ABI, SHELL IS SH
A função index
retorna a posição do caractere a ser encontrado (neste caso, um ponto). E strstr
retornará uma substring. Usamos p+1
e p-1
para não incluir o ponto.
Para obter mais informações, consulte a seção "Funções de string" da página awk
.