PowerShell でテキストファイルから指定した行、もしくは行の範囲を取得する方法を紹介する。サイズが大きすぎてエディタで開くと時間がファイルなどで使うと便利す。
先頭行を取得する
PowerShell でテキストファイルの指定行を取得する方法には次の2つの方法がある。
1つ目は、Get-Content
と Select-Object
コマンドレットを使用する方法。
# sample.txt の 1行目を取得
Get-Content sample.txt | Select-Object -First 1
2つ目は、Get-Content
コマンドレットで取得した配列から指定した行を取得する方法。(配列のインデックスは 0から始まる)
# sample.txt の 1行目を取得
(Get-Content sample.txt)[0]
行の範囲を取得する
Select-Object
コマンドレットを使用する方法。( -Skip
で読み飛ばす行数を指定)
# sample.txt の 2~4行目を取得
Get-Content sample.txt | Select-Object -Skip 1 -First 3
配列から取得する方法。
# sample.txt の 2~4行目を取得
(Get-Content sample.txt)[1..3]
末尾の行を取得する
ファイルの末尾から行数を指定して、テキストファイルの内容を取得することも出来る。
Select-Object
コマンドレットを使用する方法。( -Last
で末尾から読み取る行数を指定)
# sample.txt の末尾から2行を取得
Get-Content sample.txt | Select-Object -Last 2
配列から取得する方法の場合、配列のインデックスにマイナス値を指定すると末尾からの指定となる。
# sample.txt の末尾から2行を取得
(Get-Content sample.txt)[-2..-1]
0 件のコメント:
コメントを投稿