Debian jessie에서 고유한 "응용 프로그램" 수를 찾는 방법

Debian jessie에서 고유한 "응용 프로그램" 수를 찾는 방법

후속 문의사항입니다allpackages.txt.gz에는 두 가지 파일 크기가 있습니까?

$ wc -l allpackages.txt 
57725 allpackages.txt

출력을 살펴본 결과 총 57719개 패키지에 해당하는 57725 -6 헤더가 표시되었지만 댓글에서 공유되었습니다.http://linux.koolsolutions.com/2008/12/19/counting-number-of-packages-under-debian-linux/#comment-10014다음 명령은 작동해야 하지만 작동하지 않습니다.

$ 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

누군가가 몇 가지 방법으로 도움을 줄 수 있습니까?

ㅏ. 디코드 명령 자체는 무엇을 하려고 합니까? 나는 이것이 tail마지막 10개의 이상한 단어를 제공하는 데 사용되고 cut파일의 일부를 삭제하려고 할 때 사용된다는 것을 알고 있습니다.

원하는 경우 allpackages.txt를 어딘가에 공유하여 사람들이 그 안에 있는 고유한 패키지 수를 알 수 있는 가장 좋은 방법을 알아낼 수 있습니다.

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

답변1

다음 명령을 표시했습니다 tail -n +7 allpackages.txt | cut -d’ ‘ -f1 | cut -d’-‘ -f1 | uniq | wc -l. 여기에는 ASCII가 아닌 따옴표가 포함되어 있으며 이는 확실히 예상되지 않습니다.

이 시도:

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

파이프라인 구성원이 수행하는 작업은 다음과 같습니다.

  • tail -n +77행부터 파일을 인쇄합니다.

  • cut -d' ' -f1단일 공백을 구분 기호로 사용하여 첫 번째 필드를 유지합니다.

  • cut -d- -f1첫 번째 필드를 유지하고 빼기 기호( -)를 구분 기호로 사용합니다.

  • uniq동일한 라인의 실행을 단일 라인으로 압축합니다.

  • wc -l줄 수를 인쇄합니다.

따라서 전체 파이프라인은 파일의 처음 6줄을 무시한 다음 선택한 필드에 대한 고유 값을 계산하려고 시도합니다. (이것은 함께 묶을 값이 순서대로 입력되도록 정렬되어 있다고 가정합니다. 그렇지 않은 경우 sort -u정렬 호출이 작동할 수 있습니다.)

관련 정보