本連載は、Windows PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「Get-Content」コマンドレットです。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ファイルの内容を参照する際に役立つ「Get-Content」コマンドレットです。
「Get-Content」は、ファイルの内容をPowerShellコンソール画面に表示するコマンドレットです。ファイルの内容が「メモ帳(notepad.exe)」アプリで参照できる形式で記述されていれば(つまり、テキストファイルであれば)、Get-Contentコマンドレットで簡単に内容を参照できます。
また、Get-Contentコマンドレットは、コマンドプロンプトの「type」コマンドや、Linuxの「cat」コマンド、「tail」コマンドと同じ要領で使用できます。
Get-Contentコマンドレットの主なオプションは次の通りです。
オプション | 意味 |
---|---|
-totalcount | ファイルの文頭から表示する行数を指定する。省略可能 |
-last | ファイルの文末から表示する行数を指定する。省略可能 |
-delimiter | 参照するファイルを表示する際、改行するタイミングを指定する。省略可能 |
-wait | 1秒おきにファイルをチェックし、新たに追加された内容があるかどうかをチェックする。省略可能 |
参照するファイルの内容が多い(行数が多い)場合は、最初の数行だけを表示して、概要を把握したい場合があります。また、ファイル内容の最後の数行だけを確認したい場合もあるでしょう。
「-totalcount」オプションで表示する行数を指定すると、ファイルの文頭から指定した行数だけが表示されます。「Get-Content ファイルパス -totalcount 5」と実行すると、指定したファイルの最初の5行だけが表示されます。
以下の実行例では、「C:\Work\eula.txt」の最初の5行だけを表示させています(画面1)。
Get-Content C:\Work\eula.txt -totalcount 5
(「eula.txt」の最初の5行だけを表示する)
同様に「-last」オプションを使用すると、ファイルの文末から指定した行数だけが表示されます。「Get-Content ファイルパス -last 5」と実行すると、ファイルの最後の5行だけが表示されます。
Get-Content C:\Work\eula.txt -last 5
(「eula.txt」の最後の5行だけを表示する)
「-delimiter」は、表示するファイルの内容に対して改行を入れ、読みやすくしてくれるオプションです。
以下の実行例では、「C:\Work\eula.txt」に含まれる読点(、)のタイミングで改行して、表示しています。
Get-Content C:\Work\eula.txt -delimiter "、"
(「eula.txt」を「、」のタイミングで改行を入れて表示する)
なお、「-delimiter」オプションを使用する際には、改行を行う文字をダブルクォーテーション(")で囲んで指定してください。
「-wait」オプションを使用すると、指定したファイルを1秒おきにチェックし、新たに書き込まれた内容があった場合には、その内容を表示するようになります。
以下の実行例では、「C:\Work\logs\pkt_20160725.log」の内容を、「-last」オプションで最後の1行だけを表示するように設定し、さらに「-wait」オプションで追記された内容があった場合に表示するようにしています。
Get-Content C:\Work\logs\pkt_20160725.log -last 1 -wait
(「pkt_20160725.log」を1秒おきにチェックして、追記内容があれば最後の行に表示する)
株式会社ソフィアネットワーク取締役。1997年よりマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(AD FS)など、ID管理を中心としたトレーニングを提供している。2007年よりMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。
Copyright © ITmedia, Inc. All Rights Reserved.