特定の文字列のすべてのバリエーションの発生をカウントする必要がある非常に大きなログファイルがあります。あれは:
AA000 ####の形式で表示されるファイルIDは多数あります。このファイルの上位5つまたは10のID(最も頻繁に表示されるID)を確認する必要があります。
これはselect-stringと正規表現で実行できると思いますか?
URL全体(その訪問に固有の情報が含まれている可能性があります)に基づいてグループ化せずに、タイトル部分(私が推測している)だけを分割したい場合は、次のようにtitleパラメーターの値を取得する必要があります。
get-content "test.txt" | % {if($_ -match 'title=([^\&]+)') {$($Matches[1])}} | group | sort -desc Count
これは私の頭から離れていますが、ワンライナーでこれを行うことができるはずです。
次のように、変数に押し込んでその変数の長さを取得することができます。
$count = get-content .\test.txt | select-string -pattern "AA000"
$count.length
または、parensを使用して、すべてインラインで実行できます。
(get-content .\test.txt | select-string -pattern "AA000").length
Group-objectコマンドレットを使用してトップカウントを行うことができます。
get-content .\test.txt | group-object | export-csv out.csv
今はかなり醜いですが、そこから行けるはずです