Schwarze Schafe automatisiert finden
Ich stand vor kurzer Zeit vor dem Problem, wie man schnell voneinander abgeschriebenen Text in Protokollen finden kann. Die Protokolle wurden alle im Word-Format abgegeben. Dafür gibt es ein paar nette Helfer, die ich hier vorstellen möchte:
- Antiword wandelt .doc in einfache Textdateien um
- cat_open_xml.pl ist ein Perl-Skript für die gleiche Aufgabe bei .docx
- Das Paket similarity-tester kann sehr einfach Textfiles vergleichen
Und hier ein kleines Skript zur Automatisierung. Es geht davon aus, dass das Perl-Skript und die Word-Dateien im gleichen Verzeichnis liegen. Namensähnlichkeiten zum Tagesgeschehen sind natürlich nur Zufall.
#!/bin/bash
#Das Gutti-Skript: Wir finden Duplikate
#Aufräumen
rm *.txt
#Störende Leerzeichen entfernen
for i in *\ *
do mv "$i" "${i// /_}"
done
#.doc umwandeln
for i in *.doc
do antiword $i >& $i.txt
done
#.docx umwandeln
for i in *.docx
do ./cat_open_xml.pl $i >& $i.txt
done
#Texte vergleichen und nach Ähnlichkeit in Prozent auflisten
sim_text -e -s -p -T *.txt
Natürlich muss man Treffer noch manuell nachkontrollieren.