Powershell Select-String (いわゆるGrep)
ファイルからGrepする方法の基本。
データファイル
データファイル:data.txt
データファイル プロパティ1[ラーメン] プロパティ2[晴れ] プロパティ3[2023/4/15] プロパティ4[伊藤博文] プロパティ5[犬養毅] プロパティ6[ABC] プロパティ7[あああああ] プロパティ8[いいいいい] プロパティ9[ううううう] プロパティ10[2023/4/11べりべり。 うんこしました。 すっきりしました。]
方法1:get-contents + Select-String
$path = JOIN-PATH ([System.Environment]::GetFolderPath("Desktop")) "data.txt" $a = Get-Content -path $path -Encoding UTF8 $a | Select-String -Encoding UTF8 -Pattern 'プロパティ9'
※ $aはString配列?になっている。つまりGet-Contentsは行末(改行?)をセパレータとして、1行ごと配列に格納してくれる。
実行結果
プロパティ9[ううううう]
方法2:Select-String 単独
Select-String自体がファイル読込機能があるので、Get-Contentsで読み込まなくても直接Grepすることもできる。
$path = JOIN-PATH ([System.Environment]::GetFolderPath("Desktop")) "data.txt" (Select-String -Path $path -Encoding UTF8 -Pattern 'プロパティ9').Line
実行結果
プロパティ9[ううううう]