Mit AWK in eine Datei schreiben
Hallo Zusammen, wie kann ich eine Bashvariabel einem im Scripteingebettetes AWK-Kommando übergeben? Bye Michael -- Windows NT source code now available... download WIN2000.BAS now! -- From a Slashdot.org post _______________________________________________________________________ Registered Linux User #228306 http://macbyte.info/ ICQ #151172379
Moin, * Michael Raab <ml-lists@macbyte.info> [02-08-30 22:07]:
wie kann ich eine Bashvariabel einem im Scripteingebettetes AWK-Kommando übergeben?
Wenn ich den Satz richtig verstanden habe: var=$(awk) Thorsten -- The history of Liberty is a history of the limitation of government power. - Woodrow Wilson
* Am 30. Aug. 2002 postete Thorsten Haude:
Moin,
* Michael Raab <ml-lists@macbyte.info> [02-08-30 22:07]:
wie kann ich eine Bashvariabel einem im Scripteingebettetes AWK-Kommando übergeben?
Wenn ich den Satz richtig verstanden habe: var=$(awk)
Ne, da habe ich mich wohl falsch ausgedrückt gehabt. Ich meinte es genau umgekehrt. ;) Bye Michael -- Toleranz kann man von den Rauchern lernen. Es hat sich noch nie ein Raucher über einen Nichtraucher beschwert. _______________________________________________________________________ Registered Linux User #228306 http://macbyte.info/ ICQ #151172379
Moin, * Michael Raab <ml-lists@macbyte.info> [02-08-30 22:27]:
* Am 30. Aug. 2002 postete Thorsten Haude:
* Michael Raab <ml-lists@macbyte.info> [02-08-30 22:07]:
wie kann ich eine Bashvariabel einem im Scripteingebettetes AWK-Kommando übergeben?
Wenn ich den Satz richtig verstanden habe: var=$(awk)
Ne, da habe ich mich wohl falsch ausgedrückt gehabt.
Ich meinte es genau umgekehrt. ;)
Also so: $(awk)=var oder doch so: andereVar=$(awk $var) Thorsten -- Das Briefgeheimnis sowie das Post- und Fernmeldegeheimnis sind unverletzlich. - Grundgesetz, Artikel 10, Abs. 1
On Fre, 30 Aug 2002 at 22:07 (+0200), Michael Raab wrote:
wie kann ich eine Bashvariabel einem im Scripteingebettetes AWK-Kommando übergeben?
Ich vermute mal, Du willst eine Shellvariable in einem awk innerhalb eines Scripts benutzen? ;-) Ist diese Übersetzung korrekt? Kommt drauf an, was Du machen willst. Variante 1: var=hallo echo "hallo du" | awk ' /'$var'/ { print $2, "Pfeife" } ' - Variante 2: var=hallo echo "hallo du" | \ awk ' { if ($1 == muster) print $2, "Pfeife" } ' muster=$var - Weitere Varianten werden wohl noch von anderen folgen. Jan
* Am 30. Aug. 2002 postete Jan Trippler:
On Fre, 30 Aug 2002 at 22:07 (+0200), Michael Raab wrote:
wie kann ich eine Bashvariabel einem im Scripteingebettetes AWK-Kommando übergeben?
Ich vermute mal, Du willst eine Shellvariable in einem awk innerhalb eines Scripts benutzen? ;-) Ist diese Übersetzung korrekt?
Kommt drauf an, was Du machen willst.
Hat sich erledigt. ;) ich habe das Problem anders gelöst. Bye Michael -- Bill Gates to his broker: "You idiot, I said $150 million on SNAPPLE!!!" _______________________________________________________________________ Registered Linux User #228306 http://macbyte.info/ ICQ #151172379
* Michael Raab schrieb am 30.Aug.2002:
wie kann ich eine Bashvariabel einem im Scripteingebettetes AWK-Kommando übergeben?
Am Besten gar nicht. (Mit dem Array ENVIRON wäre es möglich) Sinniger ist es, wenn Du die bash die Variable auswerten läßt, und awk sieht den Inhalt der Variable, nicht aber die Variable. etwa so: awk '/'$MUSTER'/ {'$CMD'}' datei Da die Variablen nicht im geschützten Bereich der '...' liegen, werden sie von der shell ausgewertet. awk sieht den Inhalt der Variable und merkt nicht daß es eine Variable war. Auch bekommt awk die ' nicht zu Gesicht. Du kanst ja mal testweise, anstelle von awk echo schreiben, dann siehst Du, was der Befehl selber sieht. Bernd -- Bitte die Etikette beachten: http://www.suse-etikette.de.vu/etikette.html Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen, sonst nichts. |Zufallssignatur 4
* Am 30. Aug. 2002 postete Bernd Brodesser:
* Michael Raab schrieb am 30.Aug.2002:
wie kann ich eine Bashvariabel einem im Scripteingebettetes AWK-Kommando übergeben?
Du kanst ja mal testweise, anstelle von awk echo schreiben, dann siehst Du, was der Befehl selber sieht.
Gar nix. :( Ich muss mir eine andere Lösung erarbeiten. *grummel* Bye Michael -- Diese Mail wurde Ihnen präsentiert von Ihrem Mailreader. _______________________________________________________________________ Registered Linux User #228306 http://macbyte.info/ ICQ #151172379
* Michael Raab schrieb am 30.Aug.2002:
* Am 30. Aug. 2002 postete Bernd Brodesser:
* Michael Raab schrieb am 30.Aug.2002:
wie kann ich eine Bashvariabel einem im Scripteingebettetes AWK-Kommando übergeben?
Du kanst ja mal testweise, anstelle von awk echo schreiben, dann siehst Du, was der Befehl selber sieht.
Gar nix. :(
Ich muss mir eine andere Lösung erarbeiten. *grummel*
Da machst Du wahrscheinlich was flasch. Sag doch mal genauer, was Du machen willst, vielleicht kann man ja helfen. Bernd -- ROTFL = Rolling On The Floor, Laughing = Auf dem Boden wälzen, lachend. SCNR = Sorry, Could Not Resist = Sorry, Ich konte nicht wiederstehen. AFAIK = As Far As I Know = So weit ich weis|BTW = By The Way = Nebenbei bemerkt IMHO = In My Humble Opinion = meiner bescheidenen Meinung nach |Zufallssig. 9
* Am 31. Aug. 2002 postete Bernd Brodesser:
* Michael Raab schrieb am 30.Aug.2002:
* Am 30. Aug. 2002 postete Bernd Brodesser:
* Michael Raab schrieb am 30.Aug.2002:
wie kann ich eine Bashvariabel einem im Scripteingebettetes AWK-Kommando übergeben?
Du kanst ja mal testweise, anstelle von awk echo schreiben, dann siehst Du, was der Befehl selber sieht.
Gar nix. :(
Ich muss mir eine andere Lösung erarbeiten. *grummel*
Da machst Du wahrscheinlich was flasch. Sag doch mal genauer, was Du machen willst, vielleicht kann man ja helfen.
Ich wollte meine Statistikübersicht, der empfangenen Mails, erneuern. Für die Mailbenachrichtigung nutze ich gkrellm. Gkrellm holt mir mittels einen Selbsgebasteltem Script die Mails ab. Meine Lösung ist einfach nur simple und kommt nun ohne awk aus. ;) Wenn fetchmail - gesteuert vom Script getmails, wo man ein Permanentes prüfen an oder ausschalten kann - neue Mails von einem POP3 Post holt, muss man nur nach der Ausgabe "reading message" greppen und diese zählen, was ich mit wc -l mache. Sollte COUNTML > 0 sein. schreibe ich diesen Wert dann mit dem Datum in eine Datei. ,----[ checkmail ]- | #! /bin/sh | | DATE=$(date +"%d.%m.%Y %H:%M:%S") | | COUNTML=$(getmails | grep "reading message" | wc -l) | | if [ $COUNTML -ne 0 ] | then | echo "$DATE $COUNTML" >> ~/.sylpheed/mailcounted | fi | | flist +Admin -all | flist +Firmen -all | flist +Foren -all | flist +Newsletter -all | flist +Personen -all `---- Mein vorheriger Gedanke war, die Ausgabe von flist mit awk auszuwerten. Denn ein flist +Foren -all liefert mir Foren/Linux-Forum has 9 in sequence unseen; out of 6458 Und nach reichlicher Überlegung, ist dieser Weg IMHO recht umständlich. Bye Michael -- Access denied--nah nah na nah nah! _______________________________________________________________________ Registered Linux User #228306 http://macbyte.info/ ICQ #151172379
Hallo, On Sat, 31 Aug 2002, Michael Raab wrote:
,----[ checkmail ]- | #! /bin/sh | | DATE=$(date +"%d.%m.%Y %H:%M:%S") | | COUNTML=$(getmails | grep "reading message" | wc -l)
useless use of 'wc': COUNTML=$(getmails | grep -c 'reading message')
| if [ $COUNTML -ne 0 ] | then | echo "$DATE $COUNTML" >> ~/.sylpheed/mailcounted | fi | | flist +Admin -all | flist +Firmen -all | flist +Foren -all | flist +Newsletter -all | flist +Personen -all `----
Mein vorheriger Gedanke war, die Ausgabe von flist mit awk auszuwerten. Denn ein flist +Foren -all liefert mir
Foren/Linux-Forum has 9 in sequence unseen; out of 6458
Und nach reichlicher Überlegung, ist dieser Weg IMHO recht umständlich.
? Wolltest du die von flist gelieferten Zahlen addieren? Das koenntest du z.B. so machen (ist jetzt fuer obiges wohl ueberfluessig, aber generell evtl. nuetzlich): ( flist ... flist ... ) | awk 'BEGIN{ n=0; g=0; } { n=n+$3; g=g+$9; } END{ print n" unseen out of "g" mails."; }' Durch die subshell '(..)' werden die Ausgaben der flist zusammengefasst, so dass sie gemeinsam in die Eingabe von awk "gepiped" werden ;) -dnh -- F: Was sagt ein frisch Assimilierter zu seinem Ex-Captain? A: SCNR [Bernd Reinecke]
participants (5)
-
B.Brodesser@t-online.de
-
David Haller
-
Jan.Trippler@t-online.de
-
Michael Raab
-
Thorsten Haude