hi liste, ich habe ein Bash-Skript geschrieben, in dem ich eine Zeichenfolge bearbeiten muss. Klappt auch mit awk. Doch wie kann ich den Inhalt einer awk-Variable in eine Shellvariable bringen? Mein Versuch war mit einer Pipe, schlug aber fehl Michi
* Michael Hoechstetter schrieb am 11.Mär.2001:
ich habe ein Bash-Skript geschrieben, in dem ich eine Zeichenfolge bearbeiten muss. Klappt auch mit awk. Doch wie kann ich den Inhalt einer awk-Variable in eine Shellvariable bringen? Mein Versuch war mit einer Pipe, schlug aber fehl
Du mußt diese Variable ausgeben, oder aber innerhalb vom awk-skript eine shell aufrufen. Oder aber Du benutzt gleich perl. Bernd -- LILO funktioniert nicht? Hast Du /etc/lilo.conf verändert und vergessen, lilo aufzurufen? Ist Deine /boot-Partition unter der 1024 Zylindergrenze? Bei anderen LILO Problemen mal in der SDB nachschauen: http://localhost/doc/sdb/de/html/rb_bootdisk.html |Zufallssignatur 6
On Sun, Mar 11, 2001 at 03:14:24PM +0100, Bernd Brodesser wrote:
* Michael Hoechstetter schrieb am 11.Mär.2001:
ich habe ein Bash-Skript geschrieben, in dem ich eine Zeichenfolge bearbeiten muss. Klappt auch mit awk. Doch wie kann ich den Inhalt einer awk-Variable in eine Shellvariable bringen? Mein Versuch war mit einer Pipe, schlug aber fehl
Hi Bernd
Du mußt diese Variable ausgeben, du meinst: ausgabe=`awk ....` ?
oder aber innerhalb vom awk-skript
eine shell aufrufen. wie geht das? Hab ich schon versucht, wahrscheinlich hab ich irgendeinen blöden Fehler gemacht: echo $eingabe|awk '{ ... ausgabe=$1 }' $eingabe und $ausgabe sind Shellvariablen. In $1 hat in awk den gleichen Wert wie $eingabe in der Schell
Oder aber Du benutzt gleich perl. Darum drücke ich mich jetzt schon seit 2 Jahren (eher weniger erfolgreich)
* Michael Hoechstetter schrieb am 11.Mär.2001:
On Sun, Mar 11, 2001 at 03:14:24PM +0100, Bernd Brodesser wrote:
Du mußt diese Variable ausgeben, du meinst: ausgabe=`awk ....` ?
Ja. Aber das wird wahrscheinlich nicht gehen, da Du mit awk was anderes ausgeben willst.
oder aber innerhalb vom awk-skript
eine shell aufrufen. wie geht das? Hab ich schon versucht, wahrscheinlich hab ich irgendeinen blöden Fehler gemacht: echo $eingabe|awk '{ ... ausgabe=$1 }' $eingabe und $ausgabe sind Shellvariablen. In $1 hat in awk den gleichen Wert wie $eingabe in der Schell
Nein, das geht nicht. Was Du machen kanst ist awk '{ ... irgendwas ' $eingabe ' irgendwas ... }' Du hebst für eingabe die Hochkommata auf und die Shell ersetzt $eingabe mit ihrem Wert. Aber der aufrufenden Shell was zuweisen geht nicht, außer wie oben beschrieben: ausgabe=`awk ...` Aber denn steht da alles drin, was awk ausgeben soll. Bernd -- Was ist quoten? Quoten ist das Zitieren aus einer mail, der man antwortet. Und wie macht man es richtig? Zitate werden mit "> " gekennzeichnet. Nicht mehr als nötig zitieren. Vor den Abschnitten das Zitat, auf das man sich bezieht, mit einer Zeile Abstand oben und unten. |Zufallssignatur 12
Am Son, 11 Mär 2001 schrieb Bernd Brodesser:
* Michael Hoechstetter schrieb am 11.Mär.2001:
ich habe ein Bash-Skript geschrieben, in dem ich eine Zeichenfolge bearbeiten muss. Klappt auch mit awk. Doch wie kann ich den Inhalt einer awk-Variable in eine Shellvariable bringen? Mein Versuch war mit einer Pipe, schlug aber fehl
Du mußt diese Variable ausgeben, oder aber innerhalb vom awk-skript eine shell aufrufen. Oder aber Du benutzt gleich perl.
HI, indem Du shellvar=`awk-script, welches die variable ausgibt (print)` nimmst. -- may the tux be with You! Joerg Thuemmler sysadmin@vordruckleitverlag.de
Hallo Michael, * Am 11.03.2001 um 14:03 Uhr schrieb Michael Hoechstetter:
ich habe ein Bash-Skript geschrieben, in dem ich eine Zeichenfolge bearbeiten muss. Klappt auch mit awk. Doch wie kann ich den Inhalt einer awk-Variable in eine Shellvariable bringen? Mein Versuch war mit einer Pipe, schlug aber fehl
wie wärs mit sourcen? Hier ein kleines Beispiel: #!/bin/bash AWKVARS='./~AWKVARS~' awk 'BEGIN {print "HHGTTG=42" >"'$AWKVARS'"}' source $AWKVARS echo "Die Antwort auf alle Fragen lautet: $HHGTTG" rm -f $AWKVARS So könnten beliebig viele Variablen übergeben und wenn gewünscht auch noch gleich ein paar Funktionen definiert werden. Du solltest aber darauf achten, dass keine anderen User in diese Datei schreiben dürfen, ansonsten öffnest Du hiermit ein recht grosses Scheunentor ;-) MfG. Jürgen -- Mein Gewissen ist rein! -denn ich habe es nie benutzt! / Registered Linux-User #130804 http://counter.li.org \ \ Linux Stammtisch Bremerhaven http://linux.hs-bremerhaven.de /
participants (4)
-
Bernd Brodesser
-
Joerg Thuemmler
-
Juergen Schwarting
-
Michael Hoechstetter