もっと詳しく

自動化またはトラブルシューティングの目的でファイルの内容を表示することを考えていますか? 別のファイルの内容に基づいてファイルを編集および管理するのはどうですか? 心配しないで; PowerShell catは、兵器庫の優れたツールです。

このチュートリアルでは、PowerShell catの多様性を利用して、ファイルの内容をさまざまな方法で表示する方法を学習します。

前提条件

このチュートリアルは、実践的なデモンストレーションになります。 フォローしたい場合、必要なのはWindowsPowerShell5.1またはPowerShell7以降を搭載したコンピューターだけです。 この記事では ウィンドウズ10 PowerShell5.1を搭載したマシン

チュートリアルディレクトリの設定

このチュートリアルを実行している間、より一貫したエクスペリエンスを得るには、次の手順を実行してチュートリアルディレクトリを準備します。

1. PowerShellウィンドウを開き、新しいフォルダーを作成します c: PsCat 以下のコマンドを実行します。 この新しいフォルダは、このチュートリアル全体で作業ディレクトリになります。

# Create the C:PsCat folder and change the working directory
New-Item -Type Directory -Path C:PsCat -Force ; Set-Location C:PsCat

2.次に、以下のコマンドを実行して、内容の異なる3つのサンプルファイルを作成します。

# Create File1.txt containing 5 lines
1..5 | ForEach-Object { "File1.txt: Line $_" } | Out-File File1.txt
# Create File2.txt containing 10 lines
1..10 | ForEach-Object { "File2.txt: Line $_" } | Out-File File2.txt
# Create File3.txt containing 100 lines
1..100 | ForEach-Object { "File3.log: Line $_" } | Out-File File3.log

3.最後に、チュートリアルディレクトリの内容を一覧表示します。

# List the current directory contents
Get-ChildItem

3つのファイルが表示されます。 File1.txt、File2.txt、およびFile3.log。

サンプルチュートリアルファイルの作成
サンプルチュートリアルファイルの作成

PowerShellCatコマンドの発表

Linuxに取り組んだ人は、ファイルの内容を読み取るコマンドとしてcatに精通しているかもしれません。 PowerShellcatコマンドにも同じ機能があります。 ただし、PowerShell猫は エイリアスGet-Content コマンドレット。

catとは別に、Get-Contentコマンドには他のエイリアスがあります。これは、以下のコマンドを実行することで確認できます。

Get-Alias -Definition Get-Content

以下に示すように、 gctype のエイリアスでもあります Get-Command、 一緒に cat

PowerShellcatエイリアスの取得
PowerShellcatエイリアスの取得

このチュートリアルでは、一貫性を保つために、Get-Contentエイリアスとしてcatのみを使用します。

PowerShellCatを使用したファイルの内容の表示

PowerShellの主な最も基本的な使用法 cat 画面にファイルの内容を表示しています。 の実行 cat コマンドの後にファイル名を続けると、ファイルの内容を表示専用に出力するようにコマンドに指示します。

以下のコマンドを実行して、 File1.txt ファイルを作成し、画面にデータを出力します。

以下に示すように、画面にFile1.txtの内容が表示されます。

PowerShellCatを使用したファイルの内容の表示

上から線を表示

ファイルのコンテンツ全体を読み取ったり表示したりすることは、特に数百行程度の巨大なファイルを処理する場合は、必ずしも実用的ではありません。

ファイルの最初の数行を読むと、ファイルが必要なものであるかどうかを識別するのに役立つ場合があります。 パワーシェル cat ファイルの特定の行を表示して、すばやく確認できます。

ファイルの先頭から行のコレクションを表示するには、 -TotalCount パラメータの後に行数が続きます。 ザ -TotalCount パラメータにもエイリアスがあります -Head-First、互換的に使用できます。

以下のコマンドを実行して、の最初の5行を表示します。 c-text.txt

-TotalCountパラメーターにもエイリアスがあります。エイリアスは-Headと-Firstであり、同じ意味で使用できます。

cat File2.txt -TotalCount 5

結果には、以下に示すように、最初の5行のみが表示されます。

PowerShellcatで最初の5行を表示する
PowerShellcatで最初の5行を表示する

下から線を表示

一方、ファイルの内容を下から指定して、ファイルの内容を表示することもできます。 -Tail パラメータまたはそのエイリアス。 -Last。 この方法は、プログラムがクラッシュする前に最後のエントリセットを知ることだけが一般的である、ログファイルを使用したトラブルシューティングの場合に一般的です。

実行する cat とともに -Tail の最後の5行を表示するパラメータ File2.txt

端末の出力は以下の結果のようになり、下から最後の5行が表示されます。

PowerShellcatで最後の5行を表示する
PowerShellcatで最後の5行を表示する

コンテンツを新しいファイルにマージする

画面にコンテンツを表示するだけでなく、リダイレクトすることができます 標準アウト PowerShellの新しいファイルへのコマンドの変換。 さらに、PowerShell catは一度に複数のファイルを読み取ることができるため、コンテンツのマージが可能になります。

1. catコマンドを実行して、File1.txtとFile2.txtを次のように連結します。 出力リダイレクト(>)は、コマンド出力をc-text.txtという新しいファイルに送信します。

cat File1.txt,File2.txt > Merge1.txt

リダイレクト演算子(>)を使用する代わりに、catの出力をOut-Fileにパイプすることによっても同じ結果を得ることができます。

cat File1.txt,File2.txt | Out-File Merge1.txt

2. catを再度実行して、新しいMerge1.txtファイルの内容を次のように表示します。

以下のスクリーンショットは、画面の出力と似ているはずです。 ご覧のとおり、File1.txtファイルとFile2.txtファイルの内容が新しいMerge1.txtファイルに正常にマージされました。

複数のファイルを連結する
複数のファイルを連結する

3.最後に、Merge1.txtを削除して、チュートリアルディレクトリに元のファイルセットを保持します。

あるファイルの内容を別のファイルに追加する

Linuxでできるもう1つのこと コマンドは、ファイルを上書きしたり、新しいファイルを作成したりする代わりに、あるファイルの内容を別のファイルに追加します。

以下は、PowerShellでコンテンツをファイルに追加する2つの方法です。 最初のメソッドは、PowerShell cat出力(|)をAdd-Contentコマンドレットにパイプします。 2番目の方法では、二重出力リダイレクト記号(>>)を使用します。

1.以下のコマンドのいずれかを実行すると、結果は同じになります。

# PowerShell cat with Add-Content
cat File1.txt | Add-Content File2.txt

# PowerShell cat with double redirection symbol (append)
cat File1.txt >> File2.txt

2.次のコマンドを実行して、File2.txtファイルの追加された内容を確認します。

ファイルの最後に、次の画像のようなFile1.txtの内容が表示されます。

あるファイルを別のファイルに追加する
あるファイルを別のファイルに追加する

3.既存のファイルにコンテンツを追加する方法を示したので、次のコマンドを実行して、チュートリアルファイルFile2.txtを元のコンテンツで上書きします。

# Overwrite File2.txt containing 10 lines
1..10 | ForEach-Object { "File2.txt: Line $_" } | Out-File File2.txt

ファイルのフィルタリング

PowerShell catは、場所の入力としてワイルドカードとパターンを受け入れます。 この機能は、タイプまたはファイル名が混在していて、アイテムをフィルタリング、包含、または除外する場合に便利です。

すべてのファイルを表示する

現在の作業ディレクトリには、2つの*.txtと1つの*.logの3つのファイルが含まれています。 このディレクトリ内のすべてのファイルの内容を表示するには、アスタリスクを指定します

パスの最後にあるワイルドカード。

端末は、すべてのファイルの内容をすばやく表示する必要があります。 以下のアニメーションは、より良いデモンストレーションのために速度を落としています。
すべてのファイルの内容を表示する

すべてのファイルの内容を表示する

特定のファイル拡張子を持つファイルの表示

特定のファイル拡張子を持つファイルのみを読み取る必要がある場合はどうなりますか? あなたがそうすることができるいくつかの方法があります。 たとえば、*。txtファイルを読み取るだけで済みます。 最初の方法は、ワイルドカードを入力パスに適用することです。 以下のコマンドを実行して、拡張子が*.txtのすべてのファイルを読み取ります。
ワイルドカードパターンを使用して、特定の拡張子を持つファイルを表示する

ワイルドカードパターンを使用して、特定の拡張子を持つファイルを表示する -Include 別の方法は、を指定することです パラメータの後にワイルドカードパターンが続きます。 以下のコマンドを実行して、フォルダ内のすべてのファイルを読み取りますが、 含む *.txt のファイル

拡大。
ワイルドカードパターンを使用して、特定の拡張子を持つファイルを含める

ワイルドカードパターンを使用して、特定の拡張子を持つファイルを含める

除外によるフィルタリング

cat .* -Filter *.txt -Exclude File2.txt

含めるファイルを指定する代わりに、-Excludeパラメーターを追加します。 たとえば、次のコードを実行して、File2.txtを除く*.txt拡張子を持つすべてのファイルをフィルタリングします。 File2.txt あなたが下で見ることができるように、 *.txt 一致する cat フィルタ、PowerShell -Exclude ファイル名が

リスト。
除外したファイルのフィルタリング

除外したファイルのフィルタリング

出力のページ付け

catを実行して大きなファイルを表示すると、テキストの動きの速いストリームが生成され、下部に到達した後にのみ停止します。 この動作は、ファイルの内容を読み取るのにあまり役立ちません。

画面上の大きなファイルの読み取りを管理しやすくするために、出力にページ付けを適用できます。 ページネーションを使用すると、ウィンドウに収まるコンテンツのみを表示できます。 cat PowerShellをパイプ処理することでページネーションを実現できます more ビルトインへの出力 Out-Host 関数または

コマンドレット。 File3.log たとえば、以下のコマンドのいずれかを実行して、

cat File3.log | more
# OR
cat File3.log | Out-Host -Paging

ページ付けあり。 どちらのコマンドでも、同じ結果とインタラクションオプションが生成されます。

結果には、現在のウィンドウサイズに一致するコンテンツのみが表示されます。
PowerShellの猫のページ付け
PowerShellの猫のページ付け
Out-Host-Pagingを使用したPowerShell猫のページング

Out-Host-Pagingを使用したPowerShell猫のページング

  • この時点で、対話には3つのオプションがあります。 SPACE プレス
  • 次のページ全体を表示します。CRキャリッジリターンを押します( Enter ) また
  • 次の行を表示します。 q プレス

ページネーションを終了します。

結論 cat おめでとう! これまでにそれを作ることによって、あなたは使用することを学びました Get-Content PowerShellでファイルを表示します。 PowerShellcatはのエイリアスです

用途の広いツールです。

PowerShell catを使用すると、このチュートリアルで説明した以上のことを実現できます。 次のステップとして、Get-Contentに関する知識をさらに広げます。今回はTailに相当します。

The post PowerShellCatを使用してファイルをすばやく表示する方法 appeared first on Gamingsym Japan.