2013-04-07 2 views
0

Я пытаюсь собрать статистические данные с помощью powershell.Проанализируйте отчет с помощью powershell

У меня есть около 4000 отчетов, которые выглядят, как это (. Все в своих собственных файлах Report.txt - некоторые из них больше полей я съязвил его):

То, что я хотел бы сделать (мысли вслух) принимает каждый [] и делает это заголовок csv, а затем добавляет каждый элемент под этим заголовком под ним. Затем я могу запускать с ней простые утверждения счетчика и вытаскивать некоторые данные. Может быть, есть лучший/более простой способ?

Идея заключается в том, чтобы иметь некоторые, как:

Запрошенные Разрешения: android.permission.INTERNET 3562 из 4000 запрошенные права: android.permission.READ_SMS 1 из 4000 и т.д. ...

До сих пор я разделил строку, так что у нее больше нет пробелов и *.

[ Package name ] 
* com.software.application 

[ Requested Permissions ] 
* android.permission.INTERNET 
* android.permission.READ_PHONE_STATE 
* android.permission.READ_SMS 
* android.permission.RECEIVE_SMS 
* android.permission.SEND_SMS 
* android.permission.WAKE_LOCK 
* android.permission.WRITE_EXTERNAL_STORAGE 
* com.google.android.c2dm.permission.RECEIVE 
* com.software.application.permission.C2D_MESSAGE 

[ Responsible API calls for used Permissions ] 
* android/app/NotificationManager;->notify 
* android/content/Context;->sendBroadcast 
* android/content/Context;->startService 
* android/os/PowerManager$WakeLock;->acquire 
* android/os/PowerManager$WakeLock;->release 
* android/telephony/SmsManager;->sendTextMessage 

[ Potentially dangerous Calls ] 
* getSystemService 
* HttpPost 
* sendSMS 

Текущий пример вывода:

[PotentiallydangerousCalls] 
getSystemService 
HttpPost 
sendSMS 

Так что это немного чище ...

ответ

1

вложу некоторый код, если у меня есть время, но вот дорожный справочник:

1) Напишите функцию (CsvToObject), которая берет путь и имя файла csv и возвращает объект PSO с свойством с каждым значением [0]

  • Эта функция может использовать функцию switch ... case Структура PowerShell с регулярным выражением и использованием файла.

2) Возьмите каждый * .csv файл (Get-ChildItem), вызовите функцию и свирели результат в Export-CSV

0

Ваш текущий пример вывод структурирован как ини-файл. Возможно, это полезно Scripting Guy post on ini files. Некоторые регулярные выражения помогают here и here.

Смежные вопросы