usando cut
e uniq
cut -d" " -f1 | sort | uniq -d
O comando cut
extrai a primeira palavra de cada linha e sort
em combinação com uniq -d
imprime apenas as palavras duplicadas.
como encontrar o número de palavras repetidas no arquivo no início da frase? por exemplo,
abc bdbdndnvd hddh hcjdhjc
dgdgd ghcdggcd abc hjdhcj
abc ghdsgcgdc cdghcgd dhgch
hshhj hcdhchd hdjchjd
Saída:
abc
interessado somente na palavra repetida no arquivo inteiro no começo somente. Se essa palavra em qualquer outro lugar não deveria ser contada. No exemplo acima, abc
é repetido duas vezes.
Alguém pode me sugerir como posso fazer isso usando o comando? Eu estou usando o Ubuntu 16.04.
usando cut
e uniq
cut -d" " -f1 | sort | uniq -d
O comando cut
extrai a primeira palavra de cada linha e sort
em combinação com uniq -d
imprime apenas as palavras duplicadas.
Usando awk
:
awk '{a[]++} END {for (i in a) if (a[i] > 1) print i}'
Isto apenas conta o número de vezes que a primeira palavra na linha ( ) foi vista e salva em uma matriz. Em seguida, apenas faça um loop sobre todos os elementos da matriz vistos até agora e imprima os que apareceram várias vezes.
Claro, eu entrei em um loop de arrays em END
. A Steeldriver observa que não preciso:
awk 'a[]++ == 1' file