複数の plist から複数の辞書を取得しました。それらをオブジェクトに保存した後、 array と言います。今度は、この配列を新しい plist にマージまたは書き込む必要があります。これを行うコマンドはありますか?私はたくさん試しましたが、書くことができません。
target_directory="$(pwd)"/OnePlist/
mkdir $target_directory
find . -name 'feature-manifest.plist' |
{
while read line; do
cp -- "$line" $target_directory ;
#/usr/libexec/PlistBuddy
array+=$(/usr/libexec/PlistBuddy -c "print :ModulePlugin:" $line)
echo "echo value: $array"
done
echo "Total files in array : $array"
echo "Total files in array : ${#array[*]}"
上記のスクリプトから、異なるフォルダー内の複数の plist から配列に ModulePlugin Dict を書き込んでいます。この配列を新しい plist に書きたいです。これを行うコマンドはありますか?
Out put : Total files in array : Dict {
StoreLocator = Dict {
Status = Active
IconText = Store Locator
InfoPage = StoreLocatorInfo.html
id = 6
Priority = 6
StoryBoard = StoreLocator
RootViewController = StoreLocatorViewController
Icon = Images.bundle/HomeScreenIcons/store_locater.png
}
}Dict {
Scanner = Dict {
Status = Active
IconText = Scanner
InfoPage = ScannerInfo.html
id = 6
Priority = 6
StoryBoard = Scanner
RootViewController = ScannerViewController
Icon = /HomeScreenIcons/multi_scan@2x.png
}
}Dict {
Coupons = Dict {
Status = Active
IconText = Coupons
InfoPage =
id = 4
Priority = 4
StoryBoard = Coupons
RootViewController = CouponsViewController
Icon = /HomeScreenIcons/coupons@2x.png
}
}Dict {
StoreLocator = Dict {
Status = Active
IconText = Store Locator
InfoPage = StoreLocatorInfo.html
id = 6
Priority = 6
StoryBoard = StoreLocator
RootViewController = StoreLocatorViewController
Icon = Images.bundle/HomeScreenIcons/store_locater.png
}
}
複数の辞書を持つオブジェクトの上。新しい plist に dem を書き込む必要があります。