2013-04-07 89 views
0

我想使用PowerShell收集一些統計數據。使用PowerShell解析報告

我有大約4000報告看起來像這樣的(都在自己的REPORT.TXT文件 - 一些有更多的領域,我狙擊吧):

我想這樣做(想大聲)是採取每個[],並使該csv標題,然後添加它下面的標題下的每個項目。然後我可以運行簡單的計數語句並提取一些數據。也許有更好/更簡單的方法?

的想法是有一些這樣的:

請求的權限:android.permission.INTERNET對3,562 4,000 要求的權限:android.permission.READ_SMS 4000 等1 ...

到目前爲止我已經剝去了字符串,所以它不再有空白和*。

[ 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

我會放一些代碼,如果我有時間,但這裏是一個roadbook:

1)編寫一個函數(CsvToObject),它取得一個csv文件的路徑和名稱,並返回一個帶有屬性的PSObject,每個[value]

  • 該函數可以利用switch ... case PowerShell結構以及正則表達式和文件使用情況。

2)抓住每一個* .csv文件(Get-ChildItem),調用函數和管道的結果Export-CSV