rpm으로 덜하는 일과 rpm없이 텍스트를 얻는 방법


12

내가 실행할 때 less package.rpmless는 패키지에 대한 모든 종류의 메타 정보를 보여줍니다. 덜 정확하게하는 일-메타 정보를 추출 할 수있는 코드가 내장되어 있습니까? 아니면 첫 번째 부분이 텍스트 파일처럼 보이는 방식으로 rpm이 구성되어 있습니까?

나는 전자 head가 여기에 그렇게 도움이되지 않기 때문에 가정 할 것 입니다. 그러나 실제 질문 에 도달하려면 : grep이 메타 데이터 를 통해 저를 덜 보여주고 싶다면 어떻게 할 수 있습니까?

답변:


23

less매뉴얼 페이지 를 탐색 less하면 INPUT PREPROCESSOR 기능 이 있음을 알 수 있습니다.

echo $LESSOPEN이 전 처리기의 위치를 ​​보려면 less/ vim/ cat를 사용 하여 내용을보십시오.

내 컴퓨터에서이 전처리 기는 있으며 /usr/bin/lesspipe.shrpm에 대해 다음을 포함합니다.

*.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- 그것은 시작 |로모그래퍼과 끝 %s그래서 직접 호출하면 오류가 발생할 것입니다.


1
왜 안돼 grep "foo" < <($LESSOPEN bar.rpm)? 아니면 어쩌면 그냥 $LESSOPEN bar.rpm | grep "foo".
jpmc26 2016 년

4

이 메타 데이터를 통해 저를 덜 보여주고 싶다면 어떻게해야합니까?

아주 간단히; 예를 들어 "Version"을 grep하려는 경우 :

less your.rpm | grep "Version"

rpm명령 을 덜 사용한다는 점에 유의하십시오 . 적게 사용하는 것이 좋습니다. rpm명령을 사용하십시오 . 처럼:

rpm -qip /path/to/uninstalled/rpm
rpm -qi installed.rpm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.