Re: [PUG] Re: Kann mir einer mit sed helfen ?
Am Montag, 2. Dezember 2002 20:46 schrieb Jochen Hein: Martin Schmitt [EMAIL PROTECTED] writes: * Jochen Hein wrote/schrieb: Klar. Ich kenne Leute, die 3000 Zeichen awk-Skript als Kommandozeile in einem ksh-Skript haben, ich mache da lieber eine eigene Datei für das awk-Skript. Dann passen auch die Zeilennummern bei den Syntax-Fehlern. Das ist aber doch ein wenig überdimensioniert @-)) Python halte ich für grob unterdokumentiert, jedenfalls für normal Sterbliche. Wenn man sich die Doku von Python anschaut, bekommt man den Eindruck, daß es sich um eine außer Kontrolle geratene Diplomarbeit zum Thema Programmiersprachen handelt. Mag sein, ich will immer mal Perl oder Python lernen, aber der Leidensdruck ist nicht groß genug. ksh und awk und sed reichen ziemlich weit. Und wenn ich mal ein fremdes Perl-Skript anpassen muss, dann habe ich ein Buch im Schrank. Hat bisher immer gereicht. Perl ist ziemlich gut dokumentiert. Die Bücher von Wall/Christiansen lesen sich selbst für Anfänger ziemlich flüssig und schlüssig ;-)) Vielleicht haben mich 6 Jahre Perl aber auch so verblödet, daß ich zu nichts anderem mehr fähig bin. Wenn man die Wahl zwischen Assembler und Cobol hat, dann ist Cobol eine gute Programmiersprache. Perl ist einfach dafür designed, dass man es bei der Definition des Problems (und natürlich der Lösung) möglichst einfach hat. Und das funktioniert ziemlich gut... Max -- +Max Trense +[EMAIL PROTECTED] PUG - Penguin User Group Wiesbaden - http://www.pug.org
[PUG] Re: Kann mir einer mit sed helfen ?
Max Trense [EMAIL PROTECTED] writes: Und wenn ich mal ein fremdes Perl-Skript anpassen muss, dann habe ich ein Buch im Schrank. Hat bisher immer gereicht. Perl ist ziemlich gut dokumentiert. Die Bücher von Wall/Christiansen lesen sich selbst für Anfänger ziemlich flüssig und schlüssig ;-)) Ich weiss. Als echter Spezialist fuer Perl habe ich das Buch hier liegen. Perl4, anyone? Jochen -- #include ~/.signature: permission denied PUG - Penguin User Group Wiesbaden - http://www.pug.org
[PUG] Re: Kann mir einer mit sed helfen ?
Markus Hahn [EMAIL PROTECTED] writes: awk ist noch viel mächtiger. perl auch. was wunder nach meinem Wissen ist perl aus sed und awk und etc. entstanden. Eher nicht. AWK steht für die Namen der Autoren. Wer weiß sie? awk war gedacht, um einfach Text-Dateien zu bearbeiten, ohne ein C-Programm schreiben zu müssen. Nett finde ich, dass es eine implizite Schleife für alle Zeilen tue gibt. Und die Auswahl der zu bearbeitenden Zeilen geht mit den üblichen Abfragen oder Suchbegriffen. Für viele relativ einfache Aufgaben nehme ich das sehr gerne, ich kann schließlich kein Perl. Perl hat Ideen von awk und sed und C geklaut, und noch einiges dazu getan. Ich finde die meisten Perl-Programme schwer zu lesen. In der Python-FAQ findet man aber auch unlesbare Programme eines Studienkollegens von mir. Urks. Aber wenn Du mich verbesserst dan gib doch bitte gleich ein paar Infos mehr auf den Weg ;-) Definiere mächtiger Das was mal will mit weniger Zeilen Quellcode und trotzdem verständlich erreichen. Jochen -- #include ~/.signature: permission denied PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Re: Kann mir einer mit sed helfen ?
Hello Jochen, Monday, December 2, 2002, 7:31:13 PM, you wrote: JH Markus Hahn [EMAIL PROTECTED] writes: Definiere mächtiger JH Das was mal will mit weniger Zeilen Quellcode und trotzdem JH verständlich erreichen. Du meinst --snip-- #!/usr/local/bin/perl $msg=Hello, world.\n; if ($#ARGV = 0) { while(defined($arg=shift(@ARGV))) { $outfilename = $arg; open(FILE, . $outfilename) || die Can't write $arg: $!\n; print (FILE $msg); close(FILE) || die Can't close $arg: $!\n; } } else { print ($msg); } 1; --snap-- gegenüber --snip-- #include stdio.h #include string.h #define S Hello, World\n main(){exit(printf(S) == strlen(S) ? 0 : 1);} --snap-- ? ;-) JH Jochen -- cheers, Tobias PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] Re: Kann mir einer mit sed helfen ?
* Jochen Hein wrote/schrieb: Eher nicht. AWK steht für die Namen der Autoren. Wer weià sie? Aho, Weinberger, Kernighan awk war gedacht, um einfach Text-Dateien zu bearbeiten, ohne ein C-Programm schreiben zu müssen. Nett finde ich, dass es eine implizite Schleife für alle Zeilen tue gibt. Und die Auswahl der zu bearbeitenden Zeilen geht mit den üblichen Abfragen oder Suchbegriffen. Für viele relativ einfache Aufgaben nehme ich das sehr gerne, ich kann schlieÃlich kein Perl. Scriptest Du richtig in Awk? Oder machst Du das selbe, wie alle anderen auch? awk '/foobar/{print $NF}' Die implizite Schleife gibt es in Perl genauso, wenn man erstmal weiß, wie sie getippt wird: perl -ane '/foobar/ print $F[-1]' Ich habe in der Tat beim Kunden jemanden erlebt, der nie Sed nahm, sondern immer nur Perl: perl -pe 's/foo/bar/g' Ist im Prinzip auch ganz praktisch so, denn Perl hat die tausendfach flexibleren Regexes. Und die immer anderen Awks, die man vorfindet (awk, nawk, gawk) sind eigentlich allein schon Grund genug, Perl zu nehmen. Perl hat Ideen von awk und sed und C geklaut, und noch einiges dazu getan. Ich finde die meisten Perl-Programme schwer zu lesen. In der Python-FAQ findet man aber auch unlesbare Programme eines Studienkollegens von mir. Urks. Python halte ich für grob unterdokumentiert, jedenfalls für normal Sterbliche. Wenn man sich die Doku von Python anschaut, bekommt man den Eindruck, daß es sich um eine außer Kontrolle geratene Diplomarbeit zum Thema Programmiersprachen handelt. Vielleicht haben mich 6 Jahre Perl aber auch so verblödet, daß ich zu nichts anderem mehr fähig bin. -martin P.S.: Ich habe als amtlich anerkannter Sed-Vorturner übrigens auf die ursprüngliche Frage nicht geantwortet, weil ich sie nicht verstanden habe. ;-) -- Schmitt Systemberatung Tel. +49(64 03)9 69 08 78 Giessener Str. 18 Fax +49(64 03)9 69 08 79 35415 Pohlheim/Germany http://www.scsy.de PUG - Penguin User Group Wiesbaden - http://www.pug.org
[PUG] Re: Kann mir einer mit sed helfen ?
Martin Schmitt [EMAIL PROTECTED] writes: * Jochen Hein wrote/schrieb: Eher nicht. AWK steht fÃŒr die Namen der Autoren. Wer weiÃ. sie? Aho, Weinberger, Kernighan Ein Gummipunkt für Dich. Scriptest Du richtig in Awk? Du meinst: #!/usr/bin/awk -f Klar. Ich kenne Leute, die 3000 Zeichen awk-Skript als Kommandozeile in einem ksh-Skript haben, ich mache da lieber eine eigene Datei für das awk-Skript. Dann passen auch die Zeilennummern bei den Syntax-Fehlern. Oder machst Du das selbe, wie alle anderen auch? awk '/foobar/{print $NF}' Noe, das ist eher selten. Die implizite Schleife gibt es in Perl genauso, wenn man erstmal weiß, wie sie getippt wird: perl -ane '/foobar/ print $F[-1]' Ich habe in der Tat beim Kunden jemanden erlebt, der nie Sed nahm, sondern immer nur Perl: perl -pe 's/foo/bar/g' Ist im Prinzip auch ganz praktisch so, denn Perl hat die tausendfach flexibleren Regexes. Ich finde nett, dass Perl in-Place editieren kann. D.h. ich spare mir das mv $i $i.bak; sed ... $i.bak $i. Ich kann mir nur dir Optionen nicht merken. Und die immer anderen Awks, die man vorfindet (awk, nawk, gawk) sind eigentlich allein schon Grund genug, Perl zu nehmen. Wie immer... Diese ganzen Inkompatibilitäten haben Unix geschadet. Mal sehen, ob die Linux-Distributoren das auch in Zukunft noch begreifen. Und die Kunden Kompatibilität fordern. Python halte ich für grob unterdokumentiert, jedenfalls für normal Sterbliche. Wenn man sich die Doku von Python anschaut, bekommt man den Eindruck, daß es sich um eine außer Kontrolle geratene Diplomarbeit zum Thema Programmiersprachen handelt. Mag sein, ich will immer mal Perl oder Python lernen, aber der Leidensdruck ist nicht groß genug. ksh und awk und sed reichen ziemlich weit. Und wenn ich mal ein fremdes Perl-Skript anpassen muss, dann habe ich ein Buch im Schrank. Hat bisher immer gereicht. Vielleicht haben mich 6 Jahre Perl aber auch so verblödet, daß ich zu nichts anderem mehr fähig bin. Wenn man die Wahl zwischen Assembler und Cobol hat, dann ist Cobol eine gute Programmiersprache. Jochen -- #include ~/.signature: permission denied PUG - Penguin User Group Wiesbaden - http://www.pug.org