Re: [PUG] Re: Kann mir einer mit sed helfen ?

2002-12-03 Diskussionsfäden Max Trense
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 ?

2002-12-03 Diskussionsfäden Jochen Hein
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 ?

2002-12-02 Diskussionsfäden Jochen Hein
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 ?

2002-12-02 Diskussionsfäden Tobias Rittweiler
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 ?

2002-12-02 Diskussionsfäden Martin Schmitt
* 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 ?

2002-12-02 Diskussionsfäden Jochen Hein
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