Variablen Übergabe von BSH zu AWK

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Tittipoco, 25.09.2006.

  1. #1 Tittipoco, 25.09.2006
    Tittipoco

    Tittipoco Jungspund

    Dabei seit:
    25.09.2006
    Beiträge:
    21
    Zustimmungen:
    0
    moin moin !!

    Ich habe in meinem standard BSH shell script eine Variable belegt

    BSP:
    WURST = AA

    jetzt möchte ich diese Variable mit AWK nutzen ! und zwar habe ich eine schleife gebastelt und möchte folgendes machen :
    cat IRGENDEINE.TXT | grep IRGENDWAS | awk '{print $WURST,$1,$6}'

    $WURST soll halt immer eine Fixe Variable sein und nur $1 und $6 ändern sich immer !##hoffe ihr versteht mein problem und könnt mir helfen

    freue mich auf eure nachrichten !
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 root1992, 25.09.2006
    root1992

    root1992 von IT-Lehrern besessen

    Dabei seit:
    02.01.2006
    Beiträge:
    1.138
    Zustimmungen:
    0
    Ort:
    Märchenwald
    $1,... sind ja die Positionsparameter
    $WURST hast du ja belegt (Belegt man Variablen mit Text nicht so: WURST ="AA"?)

    Was hast du für ein Problem?
     
  4. #3 Wolfgang, 25.09.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Typischer Fall von useless use... ;)

    awk kann selbst die Datei einlesen, und matchen!
    Ausserdem kennt awk die Option -v Var=Wert.

    Code:
    awk -v WURST=WERT '/pattern/{print WURST, $1, $6}' Datei
    
    Gruß Wolfgang
    edit: was meinst du mit BSH?
     
  5. #4 Tittipoco, 25.09.2006
    Tittipoco

    Tittipoco Jungspund

    Dabei seit:
    25.09.2006
    Beiträge:
    21
    Zustimmungen:
    0
    BSH = Bash shell

    ok, wie genau funktioniet das ? angenommen die Variable WURST soll den Inhalt : CKZ haben..
    was genau setzt man bei WERT und was bei pattern ? ist pattern der Inhalt an sich und WERT , wie man das in awk anspricht ? also $1,$6,$WERT ?

    und @ root :
    ja so beleg ich die eigneltich auch .. muss tdu ja aber nicht !

    PS: warum useless use ??!!??
     
  6. #5 Wolfgang, 25.09.2006
    Zuletzt bearbeitet: 25.09.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Du hast aber nicht einen einzigen Blick in die man awk geworfen.
    /Pattern/ ist der String, nach dem du mit grep suchst.
    Variablenzuweisung:
    Bei mir ist der Inhalt der Variablen Wurst=Wert.
    useless use of cat and grep!
    Weil cat und grep nicht nötig sind.
    Das sind zwei sinnlose Prozesse mehr.
    cat gibt den Inhalt der Datei aus.
    grep sucht nach Pattern.
    Das kann awk alles selbst.
    Wenn du awk schon aufrufst, dann kannst du das alles damit selbst erledigen. -> Ein einziger Prozess für alle Aufgaben.

    Gruß Wolfgang
    edit:
    In awk werden Variablen lexikalisch angesprochen. Also kein $ davor. Das gilt nur für interne Variablen wie die Positionsparameter.
    Du kannst auch Klartext mit print ausgeben, dann musst du diesen aber quoten.
    Code:
    awk '/suchstring/{print "Mein eigener Text", $1, $2} Eingabedatei
     
  7. #6 Tittipoco, 25.09.2006
    Tittipoco

    Tittipoco Jungspund

    Dabei seit:
    25.09.2006
    Beiträge:
    21
    Zustimmungen:
    0
    als ob ich das mit cat und grep nicht wüsste ;-) danke, aber ich brauche cat und sed um eine vorhandene TXT auf die auswahl zu beschränken die für ide weitere verarbeitung für mich von nöten ist. mag sein das AWK das selbst kann, ok aber ich mach es damit ! sollte auch kein problem in bezug auf die variablen übergabe darstellen. aber ich komme erst morgen dazu, deinen ansatz zu testen ! ich danke hier shconmal für eure hilfe und werde mich morgen wieder melden !
     
  8. #7 Wolfgang, 25.09.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Ich habe dir nur auf deine Frage nach dem useless use geantwortet.
    Warum du nun trotzdem sed oder grep oder cat brauchst, ist mir nicht klar.

    Du hast meinen Nachtrag gelesen?

    Gruß Wolfgang
     
  9. #8 Tittipoco, 25.09.2006
    Tittipoco

    Tittipoco Jungspund

    Dabei seit:
    25.09.2006
    Beiträge:
    21
    Zustimmungen:
    0
    "mein eigener Text" steht aber in einer Variablen, das ist ja das problem ! ich habe mein script jetzt leider nicht auswendig im kopf, deswegen kann ich auch erst morgen den nötigen code dafür liefern

    habe nachtrag eben gelesen, und war von mir auch nicht als "lächerlich" gemeint eben .. dachte nur du hättest mein problem noch nicht ganz verstanden.

    ich werde morgen versuchen deine tipps anzuwenden und mich dann hier wieder ( mit dem dazu passenden code) melden :-) danke für eure hilfe
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. #9 Wolfgang, 25.09.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    wenn dein einzufügender Text in einer Shellvariable steht, dann nütze die Variante mit der Option -v WURST=$VAR.
    Hoffe etwas geholfen zu haben
    Gruß Wolfgang
     
  12. #10 Tittipoco, 26.09.2006
    Tittipoco

    Tittipoco Jungspund

    Dabei seit:
    25.09.2006
    Beiträge:
    21
    Zustimmungen:
    0
    Super, danke Wolfgang :-D genau so funktioniert es !! habe ich in meinem AWK/SED Buch nicht finden können !!
    danke schön
     
Thema: Variablen Übergabe von BSH zu AWK
Besucher kamen mit folgenden Suchen
  1. awk variable übergeben

    ,
  2. gawk variable übergeben

    ,
  3. linux shell variable awk übergeben

    ,
  4. awk parameter übergeben,
  5. unix shell script text mit dollarzeichen übergeben,
  6. awk übergabe variable,
  7. awk variablen mitgeben,
  8. grep variablenzuweisung
Die Seite wird geladen...

Variablen Übergabe von BSH zu AWK - Ähnliche Themen

  1. Linux 4.5 will UEFI-Variablen besser schützen

    Linux 4.5 will UEFI-Variablen besser schützen: Das Löschen bestimmter UEFI-Variablen kann manche Rechner nicht mehr startbar machen. Das kommende Linux 4.5 ergreift Maßnahmen dagegen, die im...
  2. Textdatei zeilenweise in durchnummerierte Variablen schreiben

    Textdatei zeilenweise in durchnummerierte Variablen schreiben: Hi Leute, ich versuche folgendes Problem zu lösen. Ich möchte eine Textdatei einlesen und den Inhalt jeder Zeile in immer eine neue Variable...
  3. mysql Select Abfrageergebnis in unterschiedlichen Variablen sichern

    mysql Select Abfrageergebnis in unterschiedlichen Variablen sichern: Hallo zusammen, es geht um folgenden Teil meiner .sh-Datei: NumberCheck=`mysql $SQL_ARGS "SELECT lkw, Firma FROM adb_group WHERE...
  4. Teil einer Variablen auslesen und in neue Variable schreiben

    Teil einer Variablen auslesen und in neue Variable schreiben: Hallo, ist für Euch bestimmt ganz einfach, aber trotz googlen komme ich nicht auf eine Lösung. In Variable x habe ich stehen: xy,ab Nun möchte...
  5. Inhalt einer Variablen aus Batch an Shellscript übergeben

    Inhalt einer Variablen aus Batch an Shellscript übergeben: Hallo, ich komme einfach nicht drauf. Wie kann ich den Wert aus einer Variablen eines Batches an mein Shellscript übergeben? So? #...