Tengo un archivo de texto que contiene tweets y debo contar la cantidad de veces que se menciona una palabra en el tweet. Por ejemplo, el archivo contiene:
Apple iPhone X is going to worth a fortune
The iPhone X is Apple's latest flagship iPhone. How will it pit against it's competitors?
Y digamos que quiero contar cuántas veces se menciona la palabra iPhone en el archivo. Así que esto es lo que he intentado.
cut -f 1 Tweet_Data | grep -i "iPhone" | wc -l
Ciertamente funciona, pero estoy confundido sobre el comando 'wc' en Unix. ¿Cuál es la diferencia si intento algo como:
cut -f 1 Tweet_Data | grep -c "iPhone"
donde se usa -c en su lugar? Ambos producen resultados diferentes en un archivo grande lleno de tweets y estoy confundido sobre cómo funciona. ¿Qué método es la forma correcta de contar la ocurrencia?
text-processing
grep
cut
Maxxx
fuente
fuente

cut -f1es cortar basado en pestañas, que no está haciendo mucho aquí. ¿Estás seguro de quewc -lrealmente te está dando el recuento correcto? Mostraría 2 aquí, pero cuento 3 instancias de "iPhone".Respuestas:
Dado tal requisito, usaría un grep de GNU (para la
-oopción ), luego lo pasaríawcpara contar el número total de ocurrencias:Los
grep -cdatos simples contarán el número de líneas que coinciden, no el número total de palabras que coinciden. Usar la-oopción le dice a grep que muestre cada coincidencia en su línea, sin importar cuántas veces la coincidencia esté en la línea.wc -lle dice a lawcutilidad que cuente el número de líneas. Después de que grep coloca cada coincidencia en su propia línea, este es el número total de apariciones de la palabra en la entrada.Si GNU grep no está disponible (o no lo desea), puede transformar la entrada
trpara que cada palabra esté en su propia línea, luego usegrep -cpara contar:fuente
El método más fácil es
para ti será,
fuente