ファイルからの文字列をPowershellの別の変数として保存する

okwaves2024-01-25  8

読み取り中の txt ファイルがあります。

ファイルは ID NUMBER,DEPARTMENT でフォーマットされます。例:23942,English 常に 5 桁の ID 番号、部門の長さは変更できます。

私が実行できた最初のステップは、英語部門の誰かが最初のファイルから抽出することでした。

$x = Get-Content -Path C:\dep.txt | Where-Object {$_.Contains("English")}

これにより、「00000、英語 11111、英語 22222、英語....etc)」が返されます。

しかし、今私は少し混乱しています。返される ID 番号ごとに、それらを別の変数に保存する必要があります。

次に、これらの変数 (a、b、c.... など) を取得し、LASTNAME、FIRSTNAME、ID NUMBER という形式の 2 番目のテキスト ファイルと比較する必要があります。例 Alex,Jones,29472 したがって、変数 (a、b、c、...など) を使用して、対応する ID 番号を見つける必要があります。d それに伴う LASTNAME,FIRSTNAME を見つけて、その名前を names.txt に書き込みます。

この件に関してご協力いただけると幸いです。



------------------------

Import-Csv はここではあなたの友達です。ファイルの内容を PowerShell オブジェクトに読み取るだけです。オブジェクトとして、そのプロパティ値を参照し、条件付き検索を実行できます。

$deps = Import-Csv c:\dep.txt # Use this if your file already has column headers
# For English department objects
$deps | Where Department -eq 'English'
# For ID Number values for English Departments
($deps | Where Department -eq 'English').'ID Number'

# Let's match department numbers with people
$people = Import-Csv people.csv
$Ids = ($deps | Where Department -eq 'English').'ID Number'
$people | Where 'ID Number' -in $Ids

CSV ファイルにヘッダーがない場合は、-Header パラメーターを使用してコマンドにヘッダーを追加できます。

$deps = Import-Csv c:\dep.txt -Header 'ID Number','Department'

0

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。