自動化またはトラブルシューティングの目的でファイルの内容を表示することを考えていますか? 別のファイルの内容に基づいてファイルを編集および管理するのはどうですか? 心配しないで; 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
以下に示すように、 gc
と type
のエイリアスでもあります Get-Command
、 一緒に cat
。
このチュートリアルでは、一貫性を保つために、Get-Contentエイリアスとしてcatのみを使用します。
PowerShellCatを使用したファイルの内容の表示
PowerShellの主な最も基本的な使用法 cat
画面にファイルの内容を表示しています。 の実行 cat
コマンドの後にファイル名を続けると、ファイルの内容を表示専用に出力するようにコマンドに指示します。
以下のコマンドを実行して、 File1.txt
ファイルを作成し、画面にデータを出力します。
以下に示すように、画面にFile1.txtの内容が表示されます。
上から線を表示
ファイルのコンテンツ全体を読み取ったり表示したりすることは、特に数百行程度の巨大なファイルを処理する場合は、必ずしも実用的ではありません。
ファイルの最初の数行を読むと、ファイルが必要なものであるかどうかを識別するのに役立つ場合があります。 パワーシェル cat
ファイルの特定の行を表示して、すばやく確認できます。
ファイルの先頭から行のコレクションを表示するには、 -TotalCount
パラメータの後に行数が続きます。 ザ -TotalCount
パラメータにもエイリアスがあります -Head
と -First
、互換的に使用できます。
以下のコマンドを実行して、の最初の5行を表示します。 c-text.txt
。
-TotalCountパラメーターにもエイリアスがあります。エイリアスは-Headと-Firstであり、同じ意味で使用できます。
cat File2.txt -TotalCount 5
結果には、以下に示すように、最初の5行のみが表示されます。
下から線を表示
一方、ファイルの内容を下から指定して、ファイルの内容を表示することもできます。 -Tail
パラメータまたはそのエイリアス。 -Last
。 この方法は、プログラムがクラッシュする前に最後のエントリセットを知ることだけが一般的である、ログファイルを使用したトラブルシューティングの場合に一般的です。
実行する cat
とともに -Tail
の最後の5行を表示するパラメータ File2.txt
。
端末の出力は以下の結果のようになり、下から最後の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つのファイルが含まれています。 このディレクトリ内のすべてのファイルの内容を表示するには、アスタリスクを指定します
パスの最後にあるワイルドカード。
すべてのファイルの内容を表示する
特定のファイル拡張子を持つファイルの表示
ワイルドカードパターンを使用して、特定の拡張子を持つファイルを表示する -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
ページ付けあり。 どちらのコマンドでも、同じ結果とインタラクションオプションが生成されます。
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.