es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo devuelvo el número de veces que aparece cada nombre en un archivo? [Línea de comando]

Dado un archivo con una cantidad no especificada de nombres, ¿cómo puedo contar la cantidad de veces que aparece cada uno de esos nombres en el archivo sin saber qué nombre se está buscando?

Sí, el espaciado incómodo de los nombres entre comas es parte del formato esperado estándar del archivo.

Ejemplo_Nombres.txt:

Adam, Bob, Billy, Cassandra, Cally, Catherine, George
Amanda, Bob, Cassandra, Harry, Julie
Adam, Bob, Billy, Harry, Larry

Actualmente tengo esta configuración para un comando:

awk -F, ‘{for(i=1; i<=NF; i++) grep $i | wc -l;}’ Ejemplo_Nombres.txt

Esto devuelve:

awk: línea 1: error de sintaxis cerca de wc

La ejecución exitosa de los comandos o el script shell debería devolver un archivo que se vea así:

Adam 2
Amanda 1
Billy 2
Bob 3
Cally 1
Cassandra 2
Catherine 1
George 1
Harry 2
Julie 1
Larry 1

o algo similar.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Puedes usar el siguiente comando para contar el número de veces que aparece cada nombre en el archivo sin saber el nombre que se está buscando:

    awk -F, '{for(i=1;i<=NF;i++){count[$i]++}} END {for (name in count) {print name, count[name]}}' Sample_Names.txt
    

    Esto devolverá un archivo que se verá así:

    Adam 2
    Amanda 1
    Billy 2
    Bob 3
    Cally 1
    Cassandra 2
    Catherine 1
    George 1
    Harry 2
    Julie 1
    Larry 1
    

Comments are closed.