0

わかりましたので、ここに問題があります。インストールされているアプリケーションとバージョンの配列を取得しようとしています。

これまでのところ、次のコマンドを実行できることがわかりました。

system_profiler SPApplicationsDataType > log.txt

これにより、次の形式のtxtファイルが得られます。

Applications:

MacTubes:

  Version: 3.1.5
  Obtained from: Unknown
  Last Modified: 9/15/12, 2:41 AM
  Kind: Universal
  64-Bit (Intel): No
  Location: /Volumes/Storage/MacTubes.app

Boom:

  Version: 1.6
  Obtained from: Identified Developer
  Last Modified: 10/12/12, 3:24 AM
  Kind: Intel
  64-Bit (Intel): No
  Signed by: Developer ID Application: Global Delight Technologies Pvt. Ltd, Developer ID Certification Authority, Apple Root CA
  Location: /Volumes/Storage/Boom.app
  Get Info String: 1.6  Copyright © 2008 - 2012, Global Delight Technologies Pvt. Ltd.

World of Goo:

  Version: 1.30
  Obtained from: Unknown
  Last Modified: 2/8/10, 8:43 AM
  Kind: Universal
  64-Bit (Intel): No
  Location: /Volumes/Storage/Misc/World of Goo.app
  Get Info String: 1.30, Copyright © 2008 2D Boy LLC

VZAccess Manager:

  Version: 4.3.0
  Obtained from: Unknown
  Last Modified: 12/17/09, 8:48 PM
  Kind: Universal
  64-Bit (Intel): No
  Location: /Volumes/Storage/Misc/VZAccess Manager.app
  Get Info String: VZAccess Manager 4.3.0 Copyright © 2000-2008 Smith Micro Software, Inc.

ColorSync:

  Obtained from: Unknown
  Last Modified: 10/9/00, 12:00 PM
  Kind: Classic
  Location: /Volumes/Storage/Misc/System Folder/Control Panels/ColorSync

AppleTalk:

  Obtained from: Unknown
  Last Modified: 10/1/96, 12:00 PM
  Kind: Classic
  Location: /Volumes/Storage/Misc/System Folder/Control Panels/AppleTalk

アプリケーション名とバージョン番号を取得して、できれば配列に保存できるようにしたいと考えています。すべてのエントリが同じように見えるので、どこから始めればよいかわかりません。バージョン番号のないエントリも無視する必要があります。

4

1 に答える 1

1

あなたが言及した出力形式を提供するAwkスクリプトは次のとおりです。

/^ {4}.+:$/ {
    sub(/^ {4}/, "", $0)
    last_application = $0
}

/^ +Version:/ {
    sub(/^ +Version: /, "", $0)
    print last_application " " $0
}

script.awk実行できるように保存すると

awk -f script.awk log.txt

のような出力を得る

MacTubes: 3.1.5
Boom: 1.6
World of Goo: 1.30
VZAccess Manager: 4.3.0

これは/usr/bin/awk、OS X 10.9.0 でテストされています。

于 2013-12-11T16:53:52.233 に答える