PDA

Показать полную графическую версию : [решено] Построчная сортировка и сравнение


D1kiy
18-01-2017, 21:41
Здравствуйте.
Задался составлением скрипта, но кое какая часть оказалась для меня слишком сложно, поэтому надеюсь на вашу помощь.

Имеется два файла: installed.txt и base.xml

Примерное содержимое installed.txt:
package:/data/app/com.sony.nfx.app.sfrc-2/base.apk=com.sony.nfx.app.sfrc
package:/system/app/white-balance/white-balance.apk=com.sonymobile.whitebalance
package:/data/app/com.google.android.youtube-2/base.apk=com.google.android.youtube
package:/data/app/com.sonymobile.sketch-1/base.apk=com.sonymobile.sketch
package:/vendor/overlay/com.sonyericsson.r2r.client-res-305.apk=com.sonyericsson.r2r.client.res.overlay_305
package:/system/priv-app/SemcTelephonyProvider/SemcTelephonyProvider.apk=com.android.providers.telephony
package:/vendor/overlay/com.sonyericsson.trackid-res-305.apk=com.sonyericsson.trackid.res.overlay_305
package:/system/app/ImageProcessorPermission/ImageProcessorPermission.apk=com.sonymobile.imageprocessor.permission

Примерное содержимое base.xml:
<?xml version="1.0" encoding="UTF-8"?>

-<Descriptions>
<package safeToRemove="yes" text="used to start internetradio from browser url" name="com.audials.Player.PlayURLFunctionality"/>
<package safeToRemove="yes" text="AllShare PC software enables your PC to support AllShare’s various services. Videos, photos, and music can be shared and streamed over a device-to-device local network that supports your PC and AllShare." name="com.sec.pcw,com.samsung.android.app.withtv,com.samsung.android.allshare.service.mediashare,com.samsu ng.android.app.FileShareServer"/>
<package safeToRemove="yes" text="samsung pay related" name="com.samsung.ucs.agent.boot,com.samsung.ucs.ucspinpad"/>
<package safeToRemove="yes" text="Beacon and Beam Service" name="com.samsung.android.beaconmanager,com.mobeam.barcodeService"/>
<package safeToRemove="yes" text="Samsung Gear VR" name="com.samsung.android.hmt.vrsvc,com.samsung.android.app.vrsetupwizardstub,com.samsung.android.hmt.vrsh ell"/>
<package safeToRemove="yes" text="YouTube Video Player App" name="com.google.android.youtube" dontStop="yes"/>
</Descriptions>

И так как вы можете понять в первом файле указаны:
package:путь_до_файла/файл=наименование_пакета

Мне нужно отредактировать построчно этот файл.
Отсортировать по местонахождению (package:/data/app/com.google.android.youtube-2/base.apk=com.google.android.youtube), проверить наименование во втором фале и добавить комментарии взятые из него (<package safeToRemove="yes" text="YouTube Video Player App" name="com.google.android.youtube" dontStop="yes"/>) если они там присутствуют. Если нет, то добавить просто - Unknown
Вывод мне нужен в таком виде:
#наименование_пакета #путь_до_файла/файл - text - safeToRemove
Из примера выше я должен получить такую строку:
#com.google.android.youtube #/data/app/com.google.android.youtube-2/base.apk - YouTube Video Player App - Safe to remove: Yes

И по поводу сортировки на выходе мне нужно получить файл такого вида (пример)
# /system/app
#com.sonymobile.whitebalance #/system/app/white-balance/white-balance.apk - описание - Safe to remove: NO
вывод всех приложений в /system/app
# /system/priv-app
#com.android.providers.telephony #/system/priv-app/SemcTelephonyProvider/SemcTelephonyProvider.apk - Unknown
вывод всех приложений в /system/priv-app
#/data/app
вывод всех приложений в /data/app
#/vendor/overlay
вывод всех приложений в /vendor/overlay

Как-то так. Постарался расписать все как можно понятнее.
На мой взгляд это сложный скрипт, по крайней мере для начинающего, и очень надеюсь на вашу помощь.

D1kiy
19-01-2017, 00:46
В ответе не нуждаюсь, задачу решил




© OSzone.net 2001-2012