Así que tengo dos diccionarios para comparar (inglés americano vs inglés británico).
¿Cómo uso el comando uniq para contar (-c) cuántas palabras hay en inglés americano o inglés británico, pero no en ambos?
Además, ¿cómo cuento el número de ocurrencias de palabras de un diccionario que aparece en un diccionario diferente?
Solo trato de entender cómo funciona uniq en un nivel más complicado. ¡Cualquier ayuda es apreciada!
En lugar de uniq , use el comando comm para esto. Encuentra líneas que son comunes entre dos archivos, o son únicas para uno u otro.
Esto cuenta todas las palabras que están en un diccionario pero no en ambos
comm -3 american british | wc -lEsto cuenta las palabras que están en ambos diccionarios:
comm -12 american british | wc -l De forma predeterminada, comm muestra las líneas que están solo en el primer archivo en la columna 1, las líneas que están solo en el segundo archivo en la columna 2 y las líneas en ambos archivos en la columna 3. Luego puede usar -[123] options para indicarle que omita las columnas especificadas. Entonces, -3 solo muestra las columnas 1 y 2 (las palabras únicas en cada archivo), mientras que -12 solo muestra la columna 3 (las palabras comunes).
Requiere que los archivos estén ordenados, lo cual supongo que son los archivos de su diccionario.
También puedes hacerlo con unico. Tiene opciones -u para mostrar solo las líneas que aparecen una vez y -d para mostrar solo las líneas que se repiten.
sort american british | uniq -u | wc -l # words in just one language sort american british | uniq -d | wc -l # words in both languages