>

설치되지 않은 패키지 목록을 인쇄하는 스크립트를 작성 중입니다.

#!/bin/bash
declare -a LIST_OF_PACKAGES=("php5" "nginx")
for i in "${LIST_OF_PACKAGES[@]}"
do
        PACKAGE_STATUS=`dpkg-query -W -f='${Status} ${Version}\n' $i | grep --line-buffered -v "install ok"`
        ECHO=`echo $i * $PACKAGE_STATUS * $i`
done

for 루프에 다음 행을 포함 시키려고합니다.

echo $ECHO | awk -F "*" '{print $1}' | sed '/^\s*$/d'

기본적으로 설치되지 않은 패키지를 grep하려고합니다. "*"를 기준으로 목록을 자릅니다.

현재 출력 :

unknown ok not-installed

필요한 출력 :

nginx * unknown ok not-installed

설치된 패키지를 무시하고 싶습니다.

  • 답변 # 1

    설치되지 않은 패키지를 적시에 직접 나열 할 수 있습니다 :

    aptitude search "!(~i)"
    
    

    보다 명확하지만 동등한 형식을 사용할 수도 있습니다 :

    aptitude search "?not(?installed)"
    
    

    패키지 이름 만 인쇄하려면 형식 옵션을 추가하십시오 :

    aptitude -F "%p" search "?not(?installed)"
    
    

    적성에서 검색어 참조를 읽으면 유용합니다.

관련 자료

  • 이전 backup - MBR 크기는 440 바이트 또는 512 바이트입니다
  • 다음 node.js - SASS (gulp) 실패