PowerShellでファイル途中の部分を切り出しするときどうするかのメモ
HTMLのファイルからタグに囲まれた内容切り出すのとかに作ったので。
##Select-Stringでファイルの該当場所を取り出し
headタグに該当する場所を持ってくる
$FilePath = "どっかのファイル.html"
$CutStartNum = (Select-String -Path $FilePath -Pattern '\s*<head.*>').LineNumber
$CutEndNum = (Select-String -Path $FilePath -Pattern '\s*</head.*>').LineNumber
これでheadタグがファイルのどの場所にあるかが取得出来る。
headタグだとファイルに一つしかないからこれでいいけど、複数あるような場合はちょっと面倒になる。
Select-String
は該当箇所のリストを返して来たりするので上手くやってください。
##該当箇所の取り出し
headタグの間を取ってくる。
$HeadContents = (Get-Content $FilePath)[($CutStartNum-1)..($CutEndNum-1)]
これで取ってこれる。
(Get-Content $FilePath)[-1]
とかすると、ファイルの最終行を取ってこれたりして便利。