PowerShell,文字コードを指定してファイルから文字列検索

スポンサーリンク

鍛錬 581

PowerShell,文字コードを指定してファイルから文字列を検索する

文字コードを指定してファイルから文字列を検索するには、Select-String にパラメータの -Encoding を付加して使用します。

パラメータ -Encoding を付加しない場合は、デフォルトの UTF-8 で検索します。

以下は、コマンドレット Select-String のエイリアスです。

エイリアス
sls

 
使用方法は、以下に示す通りです。

sls 検索するパターン ファイルのパス -Encoding 文字コード

パラメータ

以下は、上記のパラメータについてです。

パラメータ 機能
-Encoding 検索する際に使用する文字コードを指定する

文字コード

以下は、主な文字コードです。

文字コード 意味
UTF8 UTF-8
Default 現在のANSIコードページ。
日本語Windows環境の場合は、Shift-JIS。
スポンサーリンク

サンプルファイル

以下は、今回検索するファイル sample.txt です。

今回は UTF-8 形式のファイルを使用しています。

このファイルの文字コードはUTF-8です。
スポンサーリンク

実行結果

以下は、文字コードを指定してファイルから文字列「です。」を検索しています。

検索する文字列
です。

UTF-8 で検索

以下は、文字コードを UTF-8 として検索しています。

PS D:\tmp>
PS D:\tmp> sls です。 .\sample.txt -Encoding UTF8

sample.txt:1:このファイルの文字コードはUTF-8です。

 
上記に示した通り、ファイルの形式が UTF-8 であるため、文字コード UTF-8 を指定して検索するとマッチしました。

Shift-JIS で検索

以下は、文字コードを Shift-JIS として検索しています。

PS D:\tmp>
PS D:\tmp> sls です。 .\sample.txt -Encoding Default
PS D:\tmp>
PS D:\tmp>

 
上記に示した通り、ファイルの形式が UTF-8 であるため、文字コード Shift-JIS を指定して検索してもマッチしませんでした。

タイトルとURLをコピーしました