ラージビッグバナー(970x90)

Windows

【Powershell】対象文字列を含んだ行数(何行目か)を取得する

更新日:

ビッグバナー(piglog)728px

この文字列はいったい何行目に書かれているのだろうか、という話です。例えば、3行目から7行目まで処理をしたい、となった時に、その行数を指定するときに使えるかなと。あらかじめ検索する文字列がわかっている場合に限るが。

対象文字列を含んだ行数を取得

以下のテストデータを使用します。

まず、対象行のみ抜き出してみます。

 

よくわからないので、全行を select-string で表示させてみます。ちなみに -Pattern は付けなくでもいける。

select-string コマンドレットの表示は、以下のようになるので「:」区切り2つめを取り出せればよさそうです。

ファイル名:行数:本文

試しに3行目を抜き出してみます。

説明

  • -Encoding default は文字コードを指定(default は SJIS)
  • -split で区切り文字を指定します。
  •  [n] で左から何個目かを指定します。

これ、実はすんなりうまくいったように見えるが、[n] は 0 から数えます。↑では [2] を指定しているので、実は3つ目を取ってきている。

実際にやってみると以下。

以上です。
↓↓↓ 持っていると便利な一冊。

レクタングル (大)

レクタングル (大)

リンクユニット(レスポンシブ)

-Windows
-,

Copyright© ぴぐろぐ , 2018 All Rights Reserved.