Cómo encontrar la cantidad de 'aplicaciones' únicas en Debian jessie

Cómo encontrar la cantidad de 'aplicaciones' únicas en Debian jessie

Esta es una consulta de seguimiento sobre¿Allpackages.txt.gz tiene dos tamaños de archivo diferentes?

$ wc -l allpackages.txt 
57725 allpackages.txt

Miré el resultado y dice 57725 -6 los archivos de encabezado, que es el total general de 57719 paquetes, pero como se comparte en los comentarios sobrehttp://linux.koolsolutions.com/2008/12/19/counting-number-of-packages-under-debian-linux/#comment-10014El siguiente comando debería funcionar pero no funciona.

$ tail -n +7 allpackages.txt | cut -d’ ‘ -f1 | cut -d’-‘ -f1 | uniq | wc -l
cut: cut: the delimiter must be a single character
Try 'cut --help' for more information.
the delimiter must be a single character
Try 'cut --help' for more information.
0

¿Alguien puede ayudar de dos maneras?

a. ¿Decodificar lo que el propio comando intenta hacer? Sé que tailse usa para dar las últimas 10 palabras impares y cutes cuando intentas eliminar algunas secciones del archivo.

Si es necesario, compartiría allpackages.txt en algún lugar para que las personas puedan encontrar la mejor manera de conocer la cantidad única de paquetes que contiene.

https://www.dropbox.com/sh/9p03q138xx9nxvb/AAAukls-UnxRZwoCPwx4HwLAa?dl=0

Respuesta1

Mostraste el comando: tail -n +7 allpackages.txt | cut -d’ ‘ -f1 | cut -d’-‘ -f1 | uniq | wc -l. Contiene comillas que no son ASCII, lo que ciertamente no es lo que se pretendía.

Pruebe esto en su lugar:

tail -n +7 allpackages.txt | cut -d' ' -f1 | cut -d- -f1 | uniq | wc -l

Esto es lo que hacen los miembros del oleoducto:

  • tail -n +7imprime un archivo comenzando en la línea 7;

  • cut -d' ' -f1mantiene el primer campo, usando un solo espacio como separador;

  • cut -d- -f1mantiene el primer campo, utilizando un signo menos ( -) como separador;

  • uniqcomprime tiradas de líneas idénticas en una sola línea;

  • wc -limprime el recuento de líneas.

Por lo tanto, toda la canalización ignora las primeras seis líneas de su archivo y luego intenta contar los valores únicos en el campo seleccionado. (Esto supone que la entrada está ordenada de modo que los valores que se van a agrupar vengan en secuencia; si esto no es cierto, tal vez sort -use podría usar una llamada a sort).

información relacionada