2017-01-23 6 views
0

Ich frage mich, ob es eine Möglichkeit gibt, alle eindeutigen Wörter (Wörter, die einmal vorkommen) in einer Textdatei zu finden (und anzuzeigen). Könnte dies nur über die Befehlszeile erfolgen? Oder müsste ich etwas wie ein Python-Skript verwenden?Eindeutige Wörter in einer Textdatei

+0

Sie können dies auch versuchen [link] (http://stackoverflow.com/questions/22978602/how-to-return-unique-words-from-the-text-file-using-python) –

Antwort

0

Wenn Sie keine Anwendung schreiben möchten, dann ist der einfachste Weg, um dies zu erreichen, die Verwendung von Powershell. Siehe dazu:

https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/get-unique

Das Beispiel, dass Microsoft auffüllt mit der Liste der eindeutigen Wörter eine Variable lautet:

$A = $(foreach ($line in Get-Content C:\Test1\File1.txt) {$line.tolower().split(" ")}) | sort | Get-Unique 

Möglicherweise möchten Sie zusätzliche Trennzeichen verwenden, obwohl auf Interpunktion aufzuspalten wie folgt aus:

$A = $(foreach ($line in Get-Content C:\test.txt) {$line.tolower().split(" .,?!;:")}) | sort | Get-Unique 

Legen Sie dies in eine Datei mit der Erweiterung .ps1 und Sie können es über die Befehlszeile ausführen. Um die Werte aus den Variablen zu bekommen nur eine zweite Linie mit den Variablen das Ergebnis auf den Bildschirm echo:

$A 

Um die Anzahl der Elemente im Array erhalten Sie dies tun könnten:

$A.count 
+0

Dies funktionierte perfekt ! Ich danke dir sehr! –

+0

Kein Problem. Für einfache Aufgaben wie diese ist PowerShell perfekt. Es ist schneller, ein kleines Skript zusammenzufügen, als eine Anwendung zu schreiben, die kompiliert werden muss. – tonythewest

+0

Gibt es eine Möglichkeit, Interpunktion ganz zu ignorieren? –

Verwandte Themen