Mittels AWK und einer Variablen suchen

Diskutiere Mittels AWK und einer Variablen suchen im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hi Zusammen, ich versuche mit einem Bash-Script eine Datei nach bestimmten Werten auszulesen welche ich vorher per Variable übergebe - klappt...

  1. ramann

    ramann Eroberer

    Dabei seit:
    20.06.2007
    Beiträge:
    59
    Zustimmungen:
    0
    Hi Zusammen,

    ich versuche mit einem Bash-Script eine Datei nach bestimmten Werten auszulesen welche ich vorher per Variable übergebe - klappt aber nicht...

    #!/bin/bash
    if [ -f ./con_ports ]
    then
    while read liste
    do
    awk '$1 ~ /$liste/ {print}' con_ports > ergebniss
    done < con_ports
    fi

    Das Problem scheint der Suchstring zu sein, welchen ich per Varibale zuweise...

    Thanks
    bjoern
     
  2. Anzeige

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    Ja, auf Grund der einfachen Hochkommata, kann die Shell die Variable nicht übergeben und der AWK kann sie nicht lesen.

    Ich weiß nicht genau was rauskommen soll, aber als Tip:
    awk -v "myvar=${liste} '$1 ~ /$myvar/ {print}' con_ports > ergebniss
     
  4. #3 Wolfgang, 21.06.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Du kannst dir das while read sparen, da awk die Datei als Argument übergeben bekommt.

    awk kennt auch eine Option -v. Auszug aus der Manpage:
    Dort könntest du dein liste ganz normal initialisieren.

    Gruß Wolfgang
     
  5. ramann

    ramann Eroberer

    Dabei seit:
    20.06.2007
    Beiträge:
    59
    Zustimmungen:
    0
    Das mit der Variablen Zuweisung mittels

    -v "myvar=${liste}

    geht, aber leider wird

    /$myvar/

    nicht übernommen, das Vergleichen mit festen Werten ala /10/ ist keine Problem...

    Das Ziel des Scriptes soll sein, eine Datei zu durchsuchen ob bestimmte Werte aus die in einer anderen Datei stehen, vorhanden sind. Die Werte die vorhanden sind sollen dann ausgegeben werden
     
  6. #5 Wolfgang, 21.06.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    AWK ist nicht grade mein Hauptgebiet, da ich für sowas lieber Perl verwende.

    Aber IMHO ist /Pattern/{Action} mit Pattern als Variable nicht möglich.
    Für solche Fälle würde ich die Funktion match (suchstring, "pattern") verwenden.

    e.g.
    Code:
    SHELLVARIABLE="SUCHSTRING";
    awk -v var=$SHELLVARIABLE 'match($1,var){print $1}' inputfile >Outputfile
    
    Das dürfte zum Erfolg führen.

    Gruß Wolfgang
    PS AWK spricht private Variablen nicht mit $NAME sondern NAME an!
     
  7. ramann

    ramann Eroberer

    Dabei seit:
    20.06.2007
    Beiträge:
    59
    Zustimmungen:
    0
    Danke!
     
  8. AdZo

    AdZo Grünschnabel

    Dabei seit:
    06.03.2008
    Beiträge:
    2
    Zustimmungen:
    0
    hallo, bin neu hier und bräuchte genau dein skript...
    könntest den kompletten code reinsetzen?
     
Thema: Mittels AWK und einer Variablen suchen
Besucher kamen mit folgenden Suchen
  1. awk variablen übergeben

    ,
  2. awk variable übergeben

    ,
  3. linux awk datei werte in variable

    ,
  4. mehrere argumente in awk shell übergeben,
  5. awk suchen in datei,
  6. awk suchmuster anzeigen,
  7. awk variable asl suchmuster,
  8. awk in variable übergeben,
  9. awk inhalt von variablen,
  10. awk variable an shell übergeben,
  11. awk string suchen
Die Seite wird geladen...

Mittels AWK und einer Variablen suchen - Ähnliche Themen

  1. SHA512 /etc/shadow Hash mittels openSSL

    SHA512 /etc/shadow Hash mittels openSSL: Hallo, ich würde gerne die /etc/shadow Datei automatisiert mittels openssl befüllen. Es geht hier vorallendingen um den Passwort Hash. Dieser...
  2. Bräuchte Hilfe bei Backupscript mittels Bash und cronjob

    Bräuchte Hilfe bei Backupscript mittels Bash und cronjob: Es soll für bestimmte Ordner Archivierung aller Dateien(Logfiles), die älter als 30 Tage sind machen. Am besten einmal täglich nachts irgendwann....
  3. rpm mittels yum

    rpm mittels yum: Hallo Wir haben folgendes System: Red Hat Enterprise Linux Server release 5.1 (Tikanga) (32 Bit - i686) Gerne würde ich darauf dieses...
  4. Wie einen Pfad zur Vereinfachung mittels Shellskript wechseln

    Wie einen Pfad zur Vereinfachung mittels Shellskript wechseln: Ich muß häufiger in 2 bestimmte Verzeichnisse auf 3. oder 4. Ebene wechseln. Um nicht permanent cd /ordnerA/ordnerB/ordnerC... usw eingeben zu...
  5. Leerzeichen, Großbuchstaben, HTML Tags entfernen mittels SED

    Leerzeichen, Großbuchstaben, HTML Tags entfernen mittels SED: Hallo zusammen. Ich habe folgendes Anliegen: Ich habe eine HTML Datei mit entsprechenden Tags usw. . Diese möchte ich in eine normale Textdatei...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden