hatschi1
Goto Top

Textdateien mit Powershell nach mehreren Wörtern durchsuchen

Hallo zusammen,

ich möchte auf einem Laufwerk alle Textdateien (< 1MB) nach bestimmten Wörtern durchsuchen.
Die zu suchenden Wörter (ca. 100 Stk.) stehen in der Datei "Suche.txt".

Sobald in einer Textdatei mindestens 10 der zu suchenden Wörter drin vorkommen, soll diese Datei über die Konsole ausgegegeben werden. Dateien mit weniger Treffen sollen ignoriert werden.

Bis jetzt habe ich mit meinen überschaubaren Kenntnissen das hier "gebastelt". Auf Laufwerke C:\ werden alle .txt nach dem Wort "admin" durchsucht. In der Konsole werden dann die einzelnen Treffer in den Dateien angezeigt.

Mir fehlt jetzt noch das "Zählen" der Treffer je Textdatei und das Laden der Suche.txt als Suchwörter.
Über alle Tipps bin ich dankbar.

$FileFilter = '*.txt'  
Get-ChildItem "C:\" -Include $FileFilter -Recurse | ? { $_.Length -lt 1MB } | Select-String -AllMatches 'admin' | select Filename, Linenumber  

Content-ID: 4893296383

Url: https://administrator.de/contentid/4893296383

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

4863114660
Lösung 4863114660 08.12.2022 aktualisiert um 13:13:46 Uhr
Goto Top
Moin.
$FileFilter = '*.txt'  
$searchwords = Get-Content 'D:\suche.txt'  
Get-ChildItem "C:\" -Include $FileFilter -Recurse -EA SilentlyContinue | ?{$_.Length -lt 1MB} | Select-String -SimpleMatch -AllMatches -Pattern $searchwords | group Path | ? Count -gt 10 | select Count,Name,@{n='Lines';e={$_.Group.LineNumber -join ','}}  

Gruß S.
Hatschi1
Hatschi1 08.12.2022 um 13:05:09 Uhr
Goto Top
Danke Schlepper, funktioniert super!!
Wie bekomme ich das Argument "Treffer > 10" noch reingebastelt?
4863114660
4863114660 08.12.2022 aktualisiert um 13:16:19 Uhr
Goto Top
Zitat von @Hatschi1:

Danke Schlepper, funktioniert super!!
Wie bekomme ich das Argument "Treffer > 10" noch reingebastelt?
Ist jetzt eingebaut hatte ich überlesen. Ein einfach dazwischen geschaltetes Where Object macht das gewünschte.
Hatschi1
Hatschi1 08.12.2022 um 13:14:32 Uhr
Goto Top
Nur die ausfiltern bzw. in der Konsole ausgeben lassen, die mehr als 10 Treffer aus der Sucheliste
haben.
4863114660
4863114660 08.12.2022 aktualisiert um 13:15:19 Uhr
Goto Top
Done. s.o.
Hatschi1
Hatschi1 08.12.2022 um 13:18:23 Uhr
Goto Top
PERFEKT!!!
Vielen Dank face-smile