모든 적성 사용자 태그 또는 패키지의 사용자 태그를 나열하는 방법은 무엇입니까?

모든 적성 사용자 태그 또는 패키지의 사용자 태그를 나열하는 방법은 무엇입니까?

나를 따라와자신의 변호사user-tags프로젝트 작업 중에 이 태그를 사용하기 시작했지만 이제 이러한 태그 중 일부를 호출하는 방법을 기억할 수 없어 유용성이 떨어집니다 . 이 이름을 검색할 수 있는 방법이 있나요?

답변1

aptitude이 옵션을 추가하여 패키지를 설치한 경우 --add-user-tag <tag>다음을 실행하여 패키지의 사용자 태그를 나열할 수 있습니다.

aptitude show <package_name>

출력의 마지막 줄에는 사용자 레이블이 표시되어야 합니다.

다음을 사용하여 설치된 모든 패키지 중에서 검색할 수 있습니다.

aptitude show '~i' | grep "User Tags"

답변2

다음 명령을 사용하면 파이프나 grep이 필요하지 않습니다.

aptitude search '?user-tag()' -F '%p %T'

이는 사용자 태그가 있는 모든 패키지를 찾고 패키지 이름과 사용자 태그의 출력 형식을 지정 -F하는 데 사용됩니다.%p %T

사용자 태그가 있는 설치된 패키지만 나열하는 등 결과를 더욱 제한하기 위해 검색 쿼리에 무엇이든 추가할 수 있습니다.

aptitude search '~i?user-tag()' -F '%p %T'

답변3

다음 명령줄은사용자 태그각 줄:

aptitude show '~T' | sed -n '/^User Tags: /{s/^User Tags: //;s/, /\n/g;p}' | sort -u

이는 패키지 데이터베이스( )의 모든 패키지에 대한 정보를 ~Tsed로 파이프하여 다음을 수행합니다.

  • -n인쇄하지 않음패턴 공간(이 줄)은 각 명령 루프 후에 자동으로 실행되며 기본적 /User Tags/으로 pgrep을 모방합니다.
  • /^User Tags: /{}다음과 일치하는 행에서만 group() 명령을 실행하십시오.정규식
  • s/^User Tags: //줄 시작 부분의 "사용자 태그:"를 빈 문자열로 바꿉니다.
  • s/, /\n/여러 개를 구분하려면 쉼표 + 공백을 바꾸세요.사용자 태그개행 문자 포함
  • p결과 인쇄패턴 공간

sed의 출력(사용자 태그각 패키지에 대해 한 줄에 하나씩) 그런 다음 파이프를 통해 sort -u동일한 태그에 대한 여러 언급을 제거합니다.

관련 정보