Kennt jemand ein Programm zum filtern von Wörtern?

...komplette Frage anzeigen

3 Antworten

Für solche Aufgaben sind unixoide Standard-Tools perfekt:

grep -ioP '\b[a-z]{1,6}\b' in.txt >out.txt

Danach stehen in "out.txt" alle Wörter, die maximal 6 Zeichen lang sind und nur aus den Groß- oder Kleinbuchstaben A bis Z bestehen.

Du kannst mit solchen sog. "regulären Ausdrücken" noch wesentlich komplexere Muster definieren. Google einfach mal nach "grep tutorial" oder falls du Windows benutzt "grep tutorial windows".

Das ist alles in allem sehr einfach und wird die schnellste Lösung sein! :)

DX923312 07.07.2017, 16:25

Okay das hört sich soweit gut an, welche Software benötige ich dafür?

Es soll folgendes gefiltert werden, die Wörter dürfen nur Buchstaben von A-Z und/oder Zahlen enthalten, minimale Wortlänge 3 , maximale Wortlänge 25.

Fehlen noch die Zahlen, für mich ist das gerade alles Bahnhof da ich keine Ahnung von der richtigen Formatierung der Befehle habe.

grep -ioP '\b[a-z]{3,25}\b' in.txt >out.txt
1
TeeTier 07.07.2017, 16:35
@DX923312

Ganz einfach:

grep -ioP '\b[a-z0-9]{3,25}\b' in.txt >out.txt

Viel Spaß! :)

PS: Du benötigst dafür das Programm "grep", das ein Teil der "MinGW" oder "CygWin" Umgebung unter Windows ist. Falls du einen Mac, Linux oder ein BSD nutzt, ist "grep" bereits installiert und du kannst es über die Konsole aufrufen.

1
DX923312 07.07.2017, 16:50
@TeeTier

Okay das hat soweit funktioniert allerdings sind die Wörter in der Output Datei einfach aneinandergereiht ohne die Leerzeichen die in der Original-Formatierung vorhanden waren, gibt es eine Möglichkeit die Formatierung beizubehalten, sodass die Wörter erkenntlich bleiben?

1
TeeTier 07.07.2017, 16:59
@DX923312

Ich vermute, dass du Windows benutzt. Windows benutzt als Zeilentrennzeichen eine Kombination aus Zeilenvorschub und Wagenrücklauf, also genau genommen zwei Zeichen.

Unter Unix oder Linux wird aber nur ein einziges Zeichen verwendet, was Windows aber nicht versteht und die Wörter aneinander geklatscht anzeigt.

Öffne deine Ausgabe-Textdatei doch bitte einfach mal mit deinem Webbrowser (einfach Mit Drag-n-Drop). Ein Webbrowser oder vernünftiger Texteditor kann mit jeder Form von Zeilenumbruch umgehen. Ich glaube, der so ziemlich einzige Editor auf der Welt, der das nicht kann, ist Notepad unter Windows. :)

Du könntest dir den Editor Notepad++ runter laden, deine Datei damit öffnen, und dann mit Windows-artigen Zeilenumbrüchen neu speichern.

Fazit:

Deine Ausgabe-Datei enthält tatsächlich Umbrüche, aber Notepad ist zu doof diese zu erkennen. Jeder andere Editor sollte aber damit klar kommen.

PS: Es gibt hier sehr viele Möglichkeiten, die Unix-Umbrüche in Windows-Umbrüche umzuwandeln, aber ich muss jetzt leider weg ... sorry! ><

1
DX923312 07.07.2017, 17:25
@TeeTier

Okay Notepad++ zeigt die richtige Formatierung an, danke! :)

1

Wenn du Lust hast, dich mit Regular Expressions, kurz Regex, rumzuschlagen, da gäbe es die Website http://regexr.com/ die genau das machen würde

Kannst zB Notepad++ nehmen mit Regex-Suche...

DX923312 07.07.2017, 16:00

Habe Notepad++ noch nie benutzt daher verstehe ich gerade nur Bahnhof.

0
triopasi 07.07.2017, 16:05
@DX923312

Das ist n einfacher Texteditor, aber du kannst als Suchbegriff auch Reguläre Ausdrücke eingeben. Ist nicht ganz einfach, aber du kannst viel damit machen.

0

Was möchtest Du wissen?