을 실행하면 less package.rpm
less 패키지에 대한 다양한 메타 정보가 표시됩니다. 무엇을 해야 할지 잘 모르겠습니다. 메타 정보를 추출하는 코드가 내장되어 있습니까? 아니면 첫 번째 부분이 텍스트 파일처럼 보이도록 rpm이 구성되어 있습니까?
head
여기서는 별로 도움이 되지 않기 때문에 전자라고 생각합니다 . 하지만 도착하다진짜질문: 이 메타데이터가 나에게 덜 표시되도록 하려면 grep
어떻게 해야 합니까?
답변1
less
매뉴얼 페이지를 찾아보면 less
입력 전처리기 기능이 있다는 것을 알 수 있습니다.
echo $LESSOPEN
이 전처리기의 위치를 확인하고 //를 사용하여 less
해당 내용을 확인하세요.vim
cat
내 컴퓨터에서 이 전처리기에는 /usr/bin/lesspipe.sh
다음과 같은 rpm 콘텐츠가 포함되어 있습니다.
*.rpm) rpm -qpivl --changelog -- "$1"; handle_exit_status $?
실제로 파일을 열고 출력의 페이지 매김을 표시할 less
필요가 없습니다 .rpm
분명히 이 정보를 grep하려면 rpm의 출력을 직접 grep하십시오.
grep "foo" < <(rpm -qpivl --changelog -- bar.rpm)
아니면 일반적으로 (OrangeDog에게 감사드립니다)
grep "foo" < <(lesspipe.sh bar.rpm)
노트: $LESSOPEN
단순히 위치만 저장하는 것이 아니라 lesspipe.sh
a로 시작해서 |
a로 끝나기 %s
때문에 직접 호출하면 오류가 발생합니다.
답변2
이 메타데이터를 나에게 표시하는 대신 탐색하고 싶다면 어떻게 해야 합니까?
예를 들어 "버전"을 검색하려는 경우 매우 간단합니다.
less your.rpm | grep "Version"
less는 명령을 사용하므로 less를 사용하지 않고 다음 과 같은 명령을 rpm
사용하는 것이 좋습니다 .rpm
rpm -qip /path/to/uninstalled/rpm
rpm -qi installed.rpm