2017-01-04 9 views
2

2つのテキストファイルを比較するPowerShellスクリプトを作成しました。ファイル1では、データが整理されます。しかし、ファイル2では、データは整理されていません。私は通常、手動でデータを整理します。しかし今、データが増加しています。私はPowerShellを使って整理を自動化する必要があります。テキストファイルから特定のテキストを読み取る

PowerShellは、2つの特殊文字の間でデータを読み取る必要があります。例:<****@は私のデータです。それは****と読む必要があります。このパターンはn回繰り返される。

答えて

1

正規表現<(.*?)@を使用して、関連する部分文字列と一致させます。 .*?は、<と次の出現番号@(貪欲でない/最短一致)の間のすべての文字に一致します。カッコで囲まれた部分は、キャプチャグループにマッチされます。後で参照することができます。

Select-String -Path 'C:\path\to\file2.txt' -Pattern '<(.*?)@' -AllMatches | 
    Select-Object -Expand Matches | 
    ForEach-Object { $_.Groups[1].Value } 

$_.Groups[1]試合の最初の捕捉基を指します。

+1

正規表現のタイプミス? ''<(。*?)q'' – sodawillow

+0

@sodawillowヘッドアップに感謝します。一定。 –

関連する問題