
Hallo, Am Tue, 22 Nov 2011, Andre Tann schrieb:
David Haller, Dienstag, 22. November 2011:
==== t.awk ==== #!/usr/bin/gawk -f
...nachdem ich mich jetzt eine gute Weile durchgegraben habe und Deine ganzen Annahmen kapiert habe, versteh ichs.
Äh, eigentlich hab ich nur genau das angenommen was du geschrieben hattest, und dann noch (bei der zweiten Version) ergänzt um ne bel. Reihenfolge der Dateien. Meinst du daß vor dein Einträgen "whitespace" ein kann? Oder daß ich das Format der Dateien als *FELDNAME1 FELDNAME2 ... *========================= *EINTRAG1 .... annahm? Selber schuld :-P
Natürlich ist es in echt noch etwas komplizierter.
Im Zweifelsfall: nicht vereinfachen, einen realen Auszug (3-10 Datensätze, je nach Varianz der Daten) erstellen, ggfs. per abgespeichertem(!) sed-script strings (Namen, Firmennamen, Domains etc.) für dich nachvollziehbar und für "uns" konsistent ersetzen... ==== make-foo-anon.sed ==== #!/bin/sed -f s/foo.de/domain1.tld/g; s/bar.com/domain2.tld/g; ... y/1234567/5764312/g; ### für numerische Daten z.B. wie Pat. Nr.[0] ==== [0] könnte man auch durch (Pseudo-) Zufallszahlen ersetzen, kommt halt drauf an. Die Datensätze an sich sind ja meist für Außenstehende nichtssagend. Bei z.B. medizinischen, Address-Daten usw. sollte man auch da ein sed drüberlaufen lassen.
Aber nachdem ich es verstanden hatte, konnte ich es sogar anpassen.
Prima :)
Wieso nur fallen mir die AWK-Dinger immer so schwer...
Ist halt ne richtige Scriptsprache. Für "größeres" mag ich ja am liebsten perl, aber für so einfaches Textgewurstel ist awk doch oft sehr praktisch und passend :) Wenn man dann noch vorgefertigtes wie getopt per -f / -W source und AWKPATH reinzieht (oder auch schlicht die awk-Datei in sein Script kopiert, siehe z.B. /usr/share/awk ;), dann auch für mehr ... Man muß halt mal die manpage lesen (z.B. das mit dem FNR == 1), um etwa zu wissen was möglich ist und dann bei Bedarf die Details nachgucken ;)
Danke fürs bauen!
Gern. Die anderen Beiträge im Thread haben natürlich auch angestachelt. Als ob das nicht (elegant und schnell) mit awk ginge ... *PAH!* :) -dnh -- Documentation: Cryptic, lacking, erroneous. Pick any three. -- if it was'nt me, it could be -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org