encontra número de equipes de um arquivo [fechado]

-1

Eu comecei a aprender bash muito recentemente e tenho que encontrar o número de equipes de um arquivo, o arquivo pode ser baixado de este link .

Abaixo está uma amostra

Eu entendo que tenho que usar o cut e o uniq, mas não consigo descobrir como. Qualquer ajuda é apreciada.

    
por Raghav 12.03.2018 / 11:24

2 respostas

3

Digamos que teamsfile seja um arquivo contendo dados dos quais você deseja contagem total de equipes e, em seguida,

1. usando cut e uniq

tail -n +2 teamsfile | cut -d "," -f2 | uniq | wc -l
  • tail -n +2 teamsfile - imprime o arquivo, mas não imprime a primeira linha (que no seu caso são rótulos dos valores)

  • corte -d "," -f2 - corta o segundo campo por vírgula (atuando como delimitador)

  • uniq - mostra apenas valores únicos. (Também pode usar sort -u )

  • wc -l - imprime o número de linhas na saída

Como alternativa, você pode usar sed e awk . eles são muito úteis em tais tarefas.

2. Usando grep para evitar a impressão da linha Ist.

cat teamsfile | grep -v "Team" | cut -d "," -f2 | sort -u | wc -l
  • grev -v - nega a pesquisa por string "Team"
por 12.03.2018 / 13:03
0

você pode simplesmente usar o awk para imprimir toda a equipe e depois encontrar a contagem.

grep -v "Team" teamsfile | awk -F',' '{print $2}' | sort -u | wc -l

Esse único forro lhe dará o número de equipes.

Explicação ::

grep: selecionará todas as linhas que contenham a palavra-chave "Equipe".

awk: quebra as linhas com base em uma 'vírgula' e imprime a segunda coluna dele, que contém os nomes das equipes.

sort -u: primeiro, ele classificará todos os nomes de equipe em ordem alfabética e, em seguida, manterá apenas registros únicos.

wc -l: fornecerá o número de linhas nas quais os dados estão presentes, no caso acima, o número de nomes exclusivos de equipes.

    
por 13.03.2018 / 11:46

Tags