2012-07-10 3 views
0

Solaris 10 서버에 설치된 소프트웨어 버전 목록을 얻으려면 pkginfo -l 명령을 사용할 수 있습니다. 그러나,이 같은 다른 행에 속성을 반환pkginfo 명령의 형식화 된 출력

PKGINST: bteq1310 
     NAME: Teradata BTEQ Utility 
    CATEGORY: application 
     ARCH: Solaris9/SPARC 
    VERSION: 13.10.00.04 
    BASEDIR: /opt 
    VENDOR: Teradata Corporation 
    PSTAMP: esssol00920110210172759 
    INSTDATE: Jul 01 2012 21:23 
    STATUS: completely installed 
    FILES:  10 installed pathnames 
        6 shared pathnames 
        6 directories 
        4 executables 
       1403 blocks used (approx) 

열의 대신 별도의 라인에 동일한 정보를 반환합니다 pkginfo과 유사한 명령이 있는가? 저는 PKGINST, NAME, VERSION, INSTDATE 및 STATUS 값에만 관심이 있습니다.

답변

0

이 awk 스크립트가 작동 나타납니다

BEGIN { FS=": "; } 
/PKGINST/ { pkg = $2; p[$2] = $2; } 
/NAME/ { n[pkg] = $2; } 
/VERSION/ { v[pkg] = $2; } 
/INSTDATE/ { i[pkg] = $2; } 
/STATUS/ { s[pkg] = $2; } 
END { for (m in p) printf ("%s\t%s\t%s\t%s\t%s\n", m, n[m], v[m], i[m], s[m]) } 
관련 문제