Anzeige:
Ergebnis 1 bis 5 von 5

Thema: awk und Vergleichsoperator

  1. #1
    atobias
    Gast

    awk und Vergleichsoperator

    Hallo,

    ich habe ein Problem mit gawk.

    (Schande über mich, aber auf Arbeit habe ich Win2000. Auf diesem Rechner habe ich auch das Problem.)

    Folgender Code funktioniert:


    Code:
    gawk '{ if($1==0.0) printf("%lf\n",num);}' ./file.txt


    Die folgende Zeile funktioniert allerdings nicht:

    Code:
    gawk '{ if($1<=0.0) printf("%lf\n",num);}' ./file.txt


    Es erscheint die Fehlermeldung:

    Zitat:
    Das System kann die angegebene Datei nicht finden

    Das Problem ist aller anschein nach, dass < als Umleitung verstanden wird. Wie muss der Code richtig heißen?
    Hat jemand eine Lösung?

    Viele Grüße

    Tobias

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.10.2005
    Ort
    MATRIX
    Beiträge
    91

    Der Punkt

    bei MICYsoft brauchst du meiner meinung nach keinen punkt vor /file,
    also nur filename.txt
    Ich will ja die Welt verbessern, aber Gott gibt mir den Quellcode nicht. Aber die Grafik hat er geil hinbekommen!

  3. #3
    atobias
    Gast
    Richtig. Löst aber das Problem nicht.

    Viele Grüße

    Tobias

  4. #4
    Registrierter Benutzer
    Registriert seit
    01.07.2004
    Beiträge
    46
    Ich habe mir eben mal schnell gawk bei sf.net heruntergeladen.

    Was ist mir vorstellen kann, dass das - als Option verstanden wird. Entweder mußt du es also versuchen zu escapen oder du schreibst es anders.

    Du magst ja augenscheinlich nach negativen Werten in der 1. Spalte suchen.
    Dann probier doch mal folgendes:

    Code:
    C:\>more 1.txt
    2 hier nicht
    3 hier - nicht
    -4 hier ist was negativ
    0.0 hier ist es nur null
    -1 negativ
    
    C:\>C:\Programme\GnuWin32\bin\gawk "/^-/ { print $0 }" ./1.txt
    -4 hier ist was negativ
    -1 negativ
    Hilft dir das?

  5. #5
    Registrierter Benutzer
    Registriert seit
    30.06.2005
    Beiträge
    155
    ich habs zwar nicht ausprobiert, aber imho musst du das umlenkungszeichen < mit dem hütchen ^ escapen:
    Code:
    gawk '{ if($1^<=0.0) printf("%lf\n",num);}' ./file.txt

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •