この投稿では、複数のファイルで文字列を検索するさまざまな方法を紹介します。
ファイル内の文字列を検索し、PowerShell でファイルの名前を取得する方法は?
これらの登録されたメソッドを使用して、複数のファイル内の文字列を検索できます。
方法 1: 複数のファイルで文字列を検索し、「select-string」コマンドレットを使用してファイル名を返す
文字列は、「」を使用して複数のファイルで検索できます。 選択文字列 」コマンドレット。このコマンドレットは、次のように文字列を選択し、複数のファイルでテキスト パターンを検索します。
> Get-Childitem C:\Doc -再帰 | | 選択文字列 -パターン 「リナックスヒント」
ここに:
- 「 Get-ChildItem 」 コマンドレットを使用して、指定した場所からファイルをフェッチします。
- 「 -再帰 ” フラグを指定すると、検索でサブフォルダー内の一致する文字列が検索されます。
- 「 | | パイプ演算子は、コマンドの出力を次のコマンドの入力として送信するために利用されます。
- 「 -パターン ” フラグは、検索する特定の文字列を定義します。
出力
指定された出力は、指定されたパターンに従って、関連するファイル名を持つ一致した文字列が返されたことを示しています。
方法 2: 複数のファイルで文字列を検索し、「sls」コマンドレットを使用してファイル名を返す
「 sls 」は「のエイリアスです。 選択文字列 」コマンドレットも同じように機能します。 「 sls ” コマンドは “ ls 」コマンドレット。
「 sls 複数のファイルで文字列を検索するコマンドレット:
> ls C:\Doc - r | | sls 「リナックスヒント」ここに:
- 「 ls 」コマンドレットを使用して、ファイルとフォルダーを一覧表示します。
- 「 -r 」は「のエイリアスです。 -再帰 サブフォルダー内の文字列を強制的に検索するために使用されるコマンドレット:
指定した文字列のファイル名が正常に取得されていることがわかります。
結論
PowerShell で複数のファイル内の文字列を検索するには、「 選択文字列 ' または ' sls コマンドレット。最初の方法では、「select-string」を「Get-ChildItem」コマンドレット、「-recurse」および「-pattern」フラグ、および 1 つのコマンドの出力を他のコマンドの入力に結合するパイプライン (|) と共に使用します。 . 「sls」コマンドでは、最初のアプローチで使用されたコマンドのすべてのエイリアスを使用します。 「sls」は「select-string」コマンドレットのエイリアスであるためです。この記事では、複数のファイルで文字列を検索する方法をいくつか紹介しました。