In Texten nichts sagende Wörter vermeiden

Streiche ich aus Texten Wörter und Phrasen, die nichts sagen, sind sie leichter zu verstehen. Vor Jahren schrieb ich nichts sagende Wörter in eine Textdatei, die seitdem wartet, benutzt zu werden. Gestern programmierte ich ein Perl-Skript, das mir anzeigt, ob bestimmte Wörter in einem Text stehen und werde es zukünftig nutzen, meine Artikel auf  nichts sagende Wörter zu überprüfen.

Das Skript liest Wörter aus einer Datei oder von der Standardeingabe. Letzteres ist erforderlich für Texte, die nicht aus einer Datei gelesen werden können, beispielsweise eine externe Webseite, und wenn der Text vorher von Formatierungen befreit werden soll, wie das zutrifft für HTML-Dateien und für alle Binärformate wie PDF- oder Word-Dateien.

Sie können das Perl-Skript herunterladen. In nächster Zeit werde ich die Texte meiner Fotografie-Informationen überarbeiten. Die betroffenen Dateien und Wörter ließ ich in eine Textdatei ausgeben; den Befehl, den ich in die Bash eingab, breche ich hier um, so ist er übersichtlicher:

for i in $(find -name '*html' | sort)
do
         lynx --dump $i \
         | findwords.pl \
                 -c  \
                 -l negativ-wortliste.txt \
                 -s
         if [ $? -eq 0 ]
         then
                 echo -n "$i: "
                 lynx \
                          --dump \
                          --hiddenlinks=ignore \
                          --nonumbers $i \
                 | findwords.pl \
                          -c  \
                          -l negativ-wortliste.txt
         fi
done \
| tee -a $HOME/log/negativ_words.txt

Anschließend gab ich die Dateinamen aus in Dateien zu je 100 Zeilen. Mit einem Editor kann ich so auf einmal 100 Dateien laden und bearbeiten: editor $(cat files-aa)&

grep '^\./' $HOME/log/negativ_words.txt \
| cut -d: -f1 \
| sed 's%^\./%%' \
| sort \
| uniq  \
| split -l 100 - files-

In meine Editoren habe ich einen Befehl eingebaut, der den Text weitergibt an das Skript.

Im Perl-Skript benutze ich die Perl-Module Util::String.pm und Util::System.pm, die ich für wiederkehrende Aufgaben schrieb. Hier der Code beider aufgerufenen Funktionen:

use File::Basename;

sub basename {
    return File::Basename::basename($0);
}
sub trim {
    my ($string_ref) = @_;

    ${$string_ref} =~ s/^\s+//;
    ${$string_ref} =~ s/\s+$//;
}

Die Negativwortliste entnahm ich dem Buch: E. A. Rauter: Die neue Schule des Schreibens, Econ, Düsseldorf 1996. Sie ist zukünftig zu erweitern.

Als Erweiterung sehe ich eine Option vor: Es müssen nicht ganze Wörter übereinstimmen, Teilzeichenketten reichen auch.

Einen Wunsch habe ich noch: Eine umfangreiche Liste mit Adjektiven und Attributen für mein Skript. Deren Notwendigkeit in Texten ist zu überprüfen.

Nachtrag: Ich eröffnete ein Projekt, das Wörter einer Wortliste in einem Text farbig hervorhebt.

Anwendungsfenster des Projekts Word Highlighter

Stichwörter: ,

Zu diesem Artikel können keine Kommentare mehr geschrieben werden.