2013-04-07 39 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