Login
Newsletter

Thema: Zerlegen einer Datei in Wörter

1 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von Jochen am Mo, 14. Februar 2000 um 12:17 #
Mist! Hier noch mal in schön:

Hm, schon in Ordnung, aber Verbesserungsmöglichkeiten sind immer da. In der o.a. Lösung ist ein Wort, auf das ein Interpunktionszeichen folgt, ein anderes als eins ohne. Weiterhin gelten Tabulatoren zu den Wörtern dazu, und so Sachen wie eckige Klamern auch. Also sagen wir einfach mal, dass tatsächlich nur reine Wörter interessieren:

tr -c '[A-Z][a-z]' '[\n*]' | ...

Durch die Option "-c" wird tr angewiesen, alle Zeichen als erstes Argument zu verwenden, die übrigbleiben, wenn man die tatsächlich aufgeführten vom Zeichensatz abzieht (-c: complement). Also werden alle Zeichen, die nicht zu den Buchstaben gehören, durch Newlines ersetzt. Die Schreibweise des zweiten Arguments bedeutet, das tr diese Zeichenkette auf die Länge des ersten Arguments auffüllen soll, und zwar mit Newlines. Vergisst man dies, würde tr nur die Zeichen umwandeln, die im zweiten Argument auch ein Gegenstück haben, und das wären nicht allzuviele (1, um genau zu sein).

Und wenn man dann noch ein -s (single) zu den Optionen hinzufügt, werden Folgen von Newlines zu einem einzigen Newline zusammengezogen. So verhindert man, dass Leerzeilen auftreten und dann auch als "Worte" mitgezählt werden.

Ich hoffe, diesmal sieht's besser aus...

[
| Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten