Eine grundlegende inhaltliche Analyse von Dokumentenbeständen lässt sich unter Linux mit sehr einfachen Mitteln bewerkstelligen – die Häufigkeiten einzelner Schlagwörter geben fix Überblick über Schwerpunkte. Zudem ist es die perfekte Grundlage für Visualisierungen. Außerdem könnt Ihr bequem in relevanten Absätzen stöbern, ein wenig querlesen – ähnlich wie bei X-Ray beim Kindle. Alle Absätze in Harry-Potter-Romanen, in denen Hagrid vorkommt anzeigen? Kein Problem. Alle Kapitel zum Thema Statistik in Lehrbüchern? Ganz fix. In einem einfachen Beispiel sollen alle Textdateien eines bestimmten Ordners nach diversen Schlagwörtern durchsucht werden, die anschließend nach Häufigkeit sortiert ausgegeben werden:

Eine grundlegende inhaltliche Analyse von Dokumentenbeständen lässt sich unter Linux mit sehr einfachen Mitteln bewerkstelligen – die Häufigkeiten einzelner Schlagwörter geben fix Überblick über Schwerpunkte. Zudem ist es die perfekte Grundlage für Visualisierungen. Außerdem könnt Ihr bequem in relevanten Absätzen stöbern, ein wenig querlesen – ähnlich wie bei X-Ray beim Kindle. Alle Absätze in Harry-Potter-Romanen, in denen Hagrid vorkommt anzeigen? Kein Problem. Alle Kapitel zum Thema Statistik in Lehrbüchern? Ganz fix. In einem einfachen Beispiel sollen alle Textdateien eines bestimmten Ordners nach diversen Schlagwörtern durchsucht werden, die anschließend nach Häufigkeit sortiert ausgegeben werden:

$ for f in $(ls verzeichnis/*.txt); do egrep -io "(Linux|Windows|Android)"
Die for-Schleife sorgt schlichtweg dafür, dass jede einzelne TXT-Datei im Ordner „text“ vom folgenden egrep-Statement erfasst werden. Gesucht werden von egrep nur die einzelnen Vorkommen (via "-o") der angegebenen Betriebssysteme, egal, ob groß oder klein geschrieben (via "-i"). Die resultierende Wortliste wird nun erst mit sort sortiert, dann erkennt uniq nebeneinanderliegende doppelte Zeilen/Wörter und gibt sie samt Anzahl aus – dank des zweiten sort-Befehls aufsteigend sortiert nach Häufigkeit.

Schon bei einigen Dutzend Dokumenten lässt sich mit derlei Analysen allerhand anfangen.

Mit zwei kleinen Modifikationen erhaltet Ihr ein komplett anderes Ergebnis:

$ for f in $(ls verzeichnis/*.txt); do egrep -i --color=always "(Linux|Windows|Android)"
Ohne die „-o“-Option gibt egrep nun nicht bloß den übereinstimmenden String aus, sondern jeweils die ganze Zeile, die den String enthält, also in der Regel Absätze – die durch das angehängte fmt gleichmäßig formatiert werden. Mittels „-t“ rückt fmt die ersten Zeilen der Absätze anders ein, sodass sich im Ergebnis gut stöbern lässt. Natürlich ließe sich das ganze auch anders lösen und ebenso natürlich könnten hier noch allerhand Verfeinerungen durchgeführt werden, aber um schnell mal in den Lehrmaterialien der letzten Semester zu stöbern oder Eure Lieblingsorte aus Romanen zu besuchen, genügt es allemal - TXT-Dateien vorausgesetzt, aber die lassen sich ja erstellen, etwa aus PDFs.

Querlesen auf der Kommandozeile - dafür aber auch in Hunderten Texten gleichzeitig. Lesen nach Thema, statt nach Dokument - funktioniert eher nicht immer ...

Über den Autor

Mirco Lang

Mirco Lang

Am Anfang war der C-64 des großen Bruders des besten Freundes in der Grundschule ...

Der echte Technikwahn kam dann mit einer Ausbildung bei Saturn - als Computer noch erklärt werden mussten, Soundkarten benötigten, ein gutes Monatsgehalt kosteten und das Internet nur bei Nerds und mit 38 kbp/s lief, bestenfalls.

Ein Studium der Informationswirtschaft und ein paar Jahre als Redakteur bei Data Becker später, sitzt hier ein freier Journalist, der auf Old-School-Computing (cli ftw!), Free Software, Frickelei, Kodi und "Hundedinger" steht - und Grauseligkeiten wie Bild und Heftig.co zutiefst verabscheut.

Und sonst so? Sauerländer, BSI-Mitarbeiter, untalentierter Musikinstrumentebesitzer und seit 24 Jahren Skateboarder, ein ziemlich alter. Und manchmal kommt das abgebrochene Philo-Studium wieder durch ...

Sag' Deine Meinung