1w6
Published on 1w6 (http://www.1w6.rakjar.de)

Startseite > Zufällige Namen aus dem Onomastikon holen (mit GNU/Linux)

Zufällige Namen aus dem Onomastikon holen (mit GNU/Linux)

Einleitung

Das Onomastikon [1] von Kate Monk ist meine Lieblingsquelle für Namen aller Art. Es bietet eine riesige Liste von Namen aus unserer Welt, sortiert nach Region und Ursprung der Namen.

Damit ist es problemlos möglich, sich für eine beliebige Region in fast jeder Fantasy-Welt und für viele Science-Fiction-Welten passende Namen zu suchen.

Was aber fehlt ist die Möglichkeit, schnell zufällige Namen zu wählen. Daher habe ich ein kleines Skript geschrieben, um den Mangel zu beheben :)

Das Skript

Die Ausgabe enthält den Namen zusammen mit der Datei, aus der er stammt, so dass ich einfach ähnliche Namen finden kann, wenn der Hintergrund des entsprechenden NSCs wichtig werden sollte.

Das Skript ist nicht hundertprozentig poliert, so dass dann und wann Begriffe auftauchen, die mit drin hängen, aber keine Namen sind. Der Grund dafür ist, dass das Onomastikon selbst urheberrechtlich geschützt ist, so dass ich hier keine aufgeräumte Liste hochladen kann, in der die Namen stehen.

Stattdessen kannst du dir mit dem Skript hier selbst so eine Liste erstellen :) (sich das Onomastikon runterzuladen und privat zu bearbeiten ist urheberrechtlich erlaubt). Du kannst es starten via

sh zufaellige-namen-aus-dem-onomastikon.sh [2]

Damit das funktioniert brauchst du ein GNU/Linux System wie Kubuntu [3] (Ein *BSD oder MacOSX könnte auch gehen, ungetestet) und Python [4] (in den meisten Distros standardmäßig installiert).

Funktionsweise

Das Skript lädt erst mit wget eine Kopie des Onomastikons runter, holt dann alle Namen raus, strukturiert die Zeilen um (Namen vorne, Pfad hinten) und filtert raus, was keine Namen sind.

Danach hast du die Datei "alle-namen-vorne.txt", aus der du mit

cat alle-namen-vorne.txt | shuf | head -n 12

zwölf zufällige Namen holen kannst. Hinter den Namen steht dabei jeweils, aus welcher Datei sie kommen, also wo du weitere ähnliche Namen findest.

Nebenbei hast du, nachdem du das Skript genutzt hast, auch noch eine lokale Kopie des Onomastikons auf deinem Rechner :)

Ich hoffe, die Namen helfen dir!

Das Skript im Detail

Teil 1: Onomastikon laden: wget

wget -m -np http://tekeli.li/onomastikon/  
cd tekeli.li/onomastikon/

Teil 2: Namen extrahieren: grep und sed

grep \<td\> -r */ |sed "s/<td>//" | sed "s/<\/td>//" > alle-namen.txt

Teil 3: Liste aufräumen: Python

def is_good_line(l):  
    return l.split(":")[1:] and (
    not "Male" in l and  
    not "Female" in l and  
    not ".html" in l and  
    not "nbsp" in l and  
    not "href" in l and  
    not "Surname" in l and  
    not ".shtml" in l and  
    not "Sources.htm" in l and  
    not "/" in l.split(":")[1] and  
    not "+" in l.split(":")[1] and  
    not "-" in l.split(":")[1] and  
    not "son of " in l.split(":")[1] and  
    not l.split(":")[2:]
    )

with open("alle-namen.txt") as namen: 
    names = [(j,i) for i,j in [line.split(":")  
             for line in namen if is_good_line(line)]]

with open("alle-namen-vorne.txt", "w") as f:  
    for i,j in names:  
        k = i[:-2] + "      " + j + "\n"  
        f.write(k.lstrip())

Teil 4: Namen aus der Liste holen: cat, shuf und head

cat alle-namen-vorne.txt | shuf | head -n 12

Das ergibt dann z.B. etwas wie

Zacheriu      England-Firstnames/Variants/Biblical-Prophets.htm
Liu A      Orient/China/Rulers.htm
Alvitus, Bishop of Leon d106      Saints/Calendar/September.htm
C8t      Saints/Alphabet/Saints-A.htm
Faustyn      Europe-Eastern/Poland/Latin.htm
Cerneu      Saints/Alphabet/Saints-C.htm
Axe      Europe-Scandinavia/Sweden/Biblical.htm
Hemalat      India/Hindu-Names/Nature.htm
Ranji      India/Sikh/Sikh.htm
Emily Luc      England-Colonies/Pitcairn.htm
Paul the Apostle (Conversion      Saints/Calendar/January.htm
monk of Ripo      Saints/Alphabet/Saints-E.htm

Du siehst auch z.B. bei ‚C8t‘, wo das Skript noch nicht ganz sauber aufräumt, aber die Mehrzahl der Namen sind sinnvoll nutzbar, und sie geben sofort Ideen (zumindest mir :) ).

Abschluss

Jetzt viel Spaß beim Spielen!

Und wenn dir dieser Tipp beim Leiten hilft, dann schreib uns doch einen Kommentar. Wir freuen uns über Rückmeldung!

PS: Das Skript wird aktualisiert, ohne dass die Beschreibungen hier aktualisiert werden. Für den aktuellen Code schau also in das Skript.


GNU General Public License v3

Das 1w6-System ist ein schlankes, frei lizensiertes, universell einsetz­bares Rollen­spielregel­werk,
das es Welten­bastlern und Spiel­leitern erleichtern soll,
ihre Welt oder Kam­pagne als Rollenspiel zu ver­öffent­lichen.

Alle Inhalte sind unter freien Lizenzen verfügbar.
Das Urheber­recht liegt bei Autorin oder Autor des jeweiligen In­haltes.
Bevor Du selbst etwas schreibst, lies bitte die Lizenz­bedingungen.

Diese Seite nutzt für ihr Funktionieren notwendige Cookies (und nur die). Und Bilder. Manchmal auch Text. Eins davon müssen wir erwähnen…

Druckversion

Source URL (retrieved on 2025-05-25 01:01): http://www.1w6.rakjar.de/deutsch/sl-tipps/zufaellige-namen-aus-dem-onomastikon-holen-mit-gnu-linux

Links:
[1] http://tekeli.li/onomastikon/
[2] http://bitbucket.org/ArneBab/1w6/raw/tip/sonstiges/zufaellige-namen-aus-dem-onomastikon-01.sh
[3] http://kubuntu.org
[4] http://python.org