apt-cache는 지정된 소스만 검색합니다.

apt-cache는 지정된 소스만 검색합니다.

역추적을 사용하고 있으며 하드 드라이브에 일부 패키지가 포함된 Packages.gz 파일이 있습니다. Packages.gz가 포함된 폴더만 검색하려면 "apt-cache 검색"을 사용하고 싶습니다. 가능합니까?

답변1

당신이 찾고있는grep dctrl이것은dctrl 도구팩.

예를 들어:

$ grep-dctrl -ns Package -F Filename mplayer2_2.0~git20120817-dmo1_amd64.deb www.deb-multimedia.org_dists_wheezy_main_binary-amd64_Packages 
mplayer2

-n레이블이 아닌 필드의 값만 인쇄됨을 의미합니다. -s Package패키지 필드만 인쇄됨을 나타냅니다. -F Filename파일 이름 필드만 검색됨을 나타냅니다. mplayer2…deb검색하는 것입니다. www…_Packages검색할 파일입니다.

.gz 파일을 직접 검색할지 확실하지 않지만 stdin을 검색하므로 파이프를 사용할 수 있습니다.zcat Packages.gz | grep-dctrl …

편집하다:.deb파일 이름뿐만 아니라 실제 파일 이름이 있는 경우 다음을 사용할 수도 있습니다.dpkg-deb정보를 얻는 중입니다. 다음은 Wireshark를 사용하는 예입니다.

$ dpkg-deb --showformat='${package}\n' -W a.deb
wireshark

그리고 설명하자면 --showformat출력 형식을 지정할 수 있습니다(여기서는 기본 패키지 및 버전이 아닌 패키지 이름만 가져옵니다). -W이는 바이너리 패키지에 대한 형식화된 정보를 인쇄한다는 의미입니다. a.deb물론 정보를 인쇄하는 것은 .deb 패키지입니다(파일 이름만 뱉어내는 것이 아니라는 것을 보여주기 위해 이름을 바꿨습니다).

답변2

왜 apt-cache를 사용하나요? zgrep은 단일 파일 내에서 검색할 수 있습니다...

관련 정보