Z
Zentorik
Registriert
Thread Starter
- Dabei seit
- 19.06.2013
- Beiträge
- 2
- Reaktionspunkte
- 0
Hallo liebe Entwicklergemeinde,
ich habe das Problem, feststellen zu müssen, welche Programme in welcher Version auf einem Mac installiert sind. Meine Idee war es nun, mit einem BashScript die Info.plist auszulesen und die Ergebnisse in einer CSV-Datei zu sammeln. Im Prinzip funktioniert dies bereits, nur besteht die Problematik das Adobe- und Microsoftanwendungen in dieser Liste nicht erscheinen. Hat vielleicht jemand ein ähnliches Problem bereits gelöst oder könnte mir bei meinem Script helfen?
Das Script durchsucht die ersten zwei Ordnerebenen und schreibt die Werte aus der .plist im CSV-Format in die Outputdatei.
ich habe das Problem, feststellen zu müssen, welche Programme in welcher Version auf einem Mac installiert sind. Meine Idee war es nun, mit einem BashScript die Info.plist auszulesen und die Ergebnisse in einer CSV-Datei zu sammeln. Im Prinzip funktioniert dies bereits, nur besteht die Problematik das Adobe- und Microsoftanwendungen in dieser Liste nicht erscheinen. Hat vielleicht jemand ein ähnliches Problem bereits gelöst oder könnte mir bei meinem Script helfen?
Code:
#!/bin/bashFILES=/Applications/*
OUTPUT=~/Desktop/applications.csv
touch $OUTPUT
for f in $FILES
do
if [ -f "$f/Contents/Info.plist" ]; then
NAME=`defaults read "$f/Contents/Info.plist" CFBundleExecutable`
VERSION=`defaults read "$f/Contents/Info.plist" CFBundleShortVersionString`
echo "$f"
echo "$NAME,$VERSION,$f" >> $OUTPUT
else
SUBDIR="$f/*"
for g in $SUBDIR
do
if [ -f "$g/Contents/Info.plist" ]; then
NAME=`defaults read "$g/Contents/Info.plist" CFBundleExecutable`
VERSION=`defaults read "$g/Contents/Info.plist" CFBundleShortVersionString`
echo "$g"
echo "$NAME,$VERSION,$g" >> $OUTPUT
fi
done
fi
done
Das Script durchsucht die ersten zwei Ordnerebenen und schreibt die Werte aus der .plist im CSV-Format in die Outputdatei.