私は以下のような内容のファイルでいっぱいのディレクトリを持っています。 //TEST:
の後、//
の前にすべてをコピーしたいので、日時とIPOをCSVにコピーします。複数のテキストファイルのデータをCSVに解析する
IPO 7 604 1148 17 - Psuedo text here doesnt mean anything just filler text, beep, boop.txt werqwerwqerw erqwerwqer 2. (test) On 7 July 2017 at 0600Z, wqerwqerwqerwerwqerqwerwqjeroisduhsuf //TEST: 37MGUI2974027//, sdfajsfjiosauf sadfu (test2) On 7 July 2017 at 0600Z, blah blah //TEST: 89MTU34782374// blah blah text here //TEST: GHO394749374// (this is uneeded)
さて、各ファイルは、このデータの複数のインスタンスを持っており、それらの何百ものがあるかもしれません。
私はそれがこれに似たCSVに出力したい:私は成功し、次にすることをを作成している、と私は正しい軌道に乗ってるように私は感じ
89MTU34782374, 3 July 2016 at 0640Z, IPO 7 604 1148 17
:
$x = "D:\New folder\"
$s = Get-Content $x
$ipo = [regex]::Match($s,'IPO([^/)]+?) -').Groups[1].Value
$test = [regex]::Matches($s,'//TEST: ([^/)]+?)//').Groups[1].Value
$date = [regex]::Matches($s,' On([^/)]+?),').Groups[1].Value
Write-Host $test"," $date"," IPO $ipo
を
しかし、ファイル内のすべてのインスタンスを見つけて選択し、新しい行に印刷することができません。私はまた、それがデータを探している方法、すべてのテキストファイルは、このようにフォーマットされていることに注意する必要があります。
テキストドキュメント内の各文字列/変数を新しい行に印刷することに問題があるだけでなく、複数のファイルに対して行う方法を理解するのに問題があります。
私は次のことを試してみましたが、それは最初のファイルから探している用語を見つけるように見える、とのように多くのファイルのためにそれを吐き出しがディレクトリに含まれています
$files = Get-ChildItem "D:\New folder\*.txt"
$s = Get-Content $files
for ($i=0; $i -lt $files.Count; $i++) {
$ipo = [regex]::Match($s,'IPO([^/)]+?) -').Groups[1].Value
$test = [regex]::Matches($s,'//TEST: ([^/)]+?)//').Groups[1].Value
$date = [regex]::Matches($s,' On([^/)]+?),').Groups[1].Value
Write-Host $test"," $date"," IPO $ipo
}
誰もがいずれかを持っていますこれがどうやって行えるかについてのアイデア?
私はこれを説明するのに悪い仕事をしました。 すべての文書にIPO番号があります。 すべてのTEST文字列には日付/時刻が関連付けられています。 他のTEST文字列があるかもしれませんが、それらは無視することができ、日付/時刻なしでは読み込まれません。彼らが製品に含まれていれば、私はそれを簡単にきれいにすることができます。 すべてのTEST +日付/時刻コンボには、元のIPO番号が含まれている必要があります
これは完全にうまくいきました。私は言及すべきであったはずだと思いますが、2番目の日付も含めてください。私はすべて正直であるように言い表すことができました。 基本的に、すべてのテキストファイルの一番上に一意のIPO番号があります。 すべてのテキストファイルには、複数のTEST部分文字列と複数の日付/時刻部分文字列があります。したがって、csvはそれぞれのIPOと同じ行にすべてのTESTと日付/時刻を含める必要があります –
どのようにこれらの複数の日付とTEST部分文字列を互いに関連付ける必要がありますか? –
さて、このコメントは物事をひどくフォーマットします。基本的には、TESTと日付/時刻が一緒になることを望んでいます。彼らは文書の中に登場するとき、互いに「合っている」。 IPO番号は、それが特定のものではありません –