Se o seu problema com as respostas existentes for
que eles não encontram palavras que consistem apenas de letras maiúsculas (sem dígitos),
então podemos adaptar a resposta do Gnouc assim:
awk '$1 ~ /^[[:upper:]0-9]+$/ {print $1}'
ou
awk '$1 ~ /^[[:upper:][:digit:]]+$/ {print $1}'
Isso difere da solução dele em
- Colocando os dígitos (
[0-9]
ou [:digit:]
) nos colchetes
com as letras maiúsculas ( [:upper:]
), exigimos apenas que cada caractere de correspondência
é uma letra maiúscula ou um dígito,
onde a resposta atual do Gnouc exige pelo menos um de cada.
- Ao adicionar o
$
, garantimos que a primeira palavra inteira
é composto de letras maiúsculas e / ou dígitos.
Sem isso, The
, Table
, Pin
e Analog
corresponderiam
porque eles começam com uma letra maiúscula.
Isso corresponderia a um número simples (por exemplo, 612
)
se é a primeira “palavra” (ou seja, a primeira seqüência de caracteres não-brancos) em uma linha.
Para evitar isso, faça
awk '$1 ~ /^[[:upper:]][[:upper:]0-9]*$/ {print $1}'
ou
awk '$1 ~ /^[[:upper:]][[:upper:][:digit:]]*$/ {print $1}'
que exigem que a palavra inicie com uma letra.