0

powershell を使用していくつかの統計を収集しようとしています。

次のような約 4,000 件のレポートがあります (すべて独自の Report.txt ファイルにあります。一部のレポートにはさらに多くのフィールドがあります。私はそれを切り取りました)。

私が(大声で考えて)やりたいことは、各 [ ] を取り、それを csv ヘッダーにしてから、そのヘッダーの下に各項目を追加することです。次に、それに対して単純な count ステートメントを実行して、いくつかのデータを引き出すことができます。たぶん、より良い/より簡単な方法がありますか?

アイデアは、次のようなものを持つことです:

要求されたアクセス許可: android.permission.INTERNET 4,000 の 3,562 要求されたアクセス許可: android.permission.READ_SMS 4,000 の 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

これで、少しきれいになりました…

4

2 に答える 2

1

時間があればコードを書きますが、ロードブックは次のとおりです。

1) csv ファイルのパスと名前を受け取り、各 [値] を持つプロパティを持つ PSObject を返す関数 (CsvToObject) を作成します。

  • この関数はswitch ... case、正規表現とファイルを使用して PowerShell 構造を利用できます。

2) すべての *.csv ファイル ( Get-ChildItem) を取得し、関数を呼び出して結果をパイプします。Export-CSV

于 2013-04-07T06:38:28.150 に答える
0

現在の出力例は、ini ファイルのように構成されています。ini ファイルに関するこのScripting Guy の投稿は役に立つかもしれません。いくつかの正規表現ヘルプhereおよびhere .

于 2013-04-07T16:11:01.660 に答える