Clara: awk Problem

Hi

ich bin etwas ratlos
wenn ich folgendes auf der Konsole eintippe
echo Python 2.3.5 | awk '{print substr ($2, 0, 4)}' erhalte ich "2.3" zurück

verwende ich jedoch folgenden Befehl
python -V | awk '{print substr ($2, 0, 4)}' erhalte ich "Python 2.3.5" zurück

woran könnte das liegen?

lieben Gruss
Clara

  1. gudn tach!

    echo Python 2.3.5 | awk '{print substr ($2, 0, 4)}' erhalte ich "2.3" zurück

    verwende ich jedoch folgenden Befehl
    python -V | awk '{print substr ($2, 0, 4)}' erhalte ich "Python 2.3.5" zurück

    woran könnte das liegen?

    evtl. schreibt python seine version nach stderr, statt stdout.
    versuch mal
      python -V 2>&1 | awk '{print  substr ($2, 0, 4)}

    das sollte stderr nach stdout umleiten.

    prost
    seth

    1. hi

      evtl. schreibt python seine version nach stderr, statt stdout.
      versuch mal
        python -V 2>&1 | awk '{print  substr ($2, 0, 4)}

      das sollte stderr nach stdout umleiten.

      dann erhalte ich ein > am Zeilenanfang
      die Konsole wartet dann wohl auf eine Anweisung

      liebe Grüße
      Clara

      1. gudn tach!

        python -V 2>&1 | awk '{print  substr ($2, 0, 4)}

        das sollte stderr nach stdout umleiten.

        dann erhalte ich ein > am Zeilenanfang
        die Konsole wartet dann wohl auf eine Anweisung

        aehem, hatte das abschliessende "'" vergessen, also
          python -V 2>&1 | awk '{print  substr ($2, 0, 4)}'

        prost
        seth

        1. hi

          aehem, hatte das abschliessende "'" vergessen, also
            python -V 2>&1 | awk '{print  substr ($2, 0, 4)}'

          ähm... das war mir beim kopieren gar nicht aufgefallen :-\

          liebe Grüße
          Clara

    2. Hallo seth.

      echo Python 2.3.5 | awk '{print substr ($2, 0, 4)}' erhalte ich "2.3" zurück

      verwende ich jedoch folgenden Befehl
      python -V | awk '{print substr ($2, 0, 4)}' erhalte ich "Python 2.3.5" zurück

      woran könnte das liegen?

      evtl. schreibt python seine version nach stderr, statt stdout.

      Tut es, die Frage ist: Warum? Die Abfrage der Version ist doch kein Fehler?

      Einen schönen Sonntag noch.

      Gruß, Mathias

      --
      ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
      debian/rules
      1. gudn tach!

        evtl. schreibt python seine version nach stderr, statt stdout.

        Tut es, die Frage ist: Warum? Die Abfrage der Version ist doch kein Fehler?

        naja, es streiten sich die geister, ob nur fehlermeldungen oder auch warnings/debugging-infos oder allgemein meta-daten/statusmeldungen ueber stderr gejagt werden sollen.

        prost
        seth

        1. Hallo seth.

          evtl. schreibt python seine version nach stderr, statt stdout.

          Tut es, die Frage ist: Warum? Die Abfrage der Version ist doch kein Fehler?

          naja, es streiten sich die geister, ob nur fehlermeldungen oder auch warnings/debugging-infos oder allgemein meta-daten/statusmeldungen ueber stderr gejagt werden sollen.

          Warnungen und Debugging-Informationen meinetwegen gerne, Metadaten und Statusmeldungen aber nicht. Es heißt schließlich nicht ohne Grund „Standard Error“ und nicht „Standard Info“.

          Aber da sich selbst die Geister darüber streiten, brauchen wir das hier nicht weiter ausführen.

          Einen schönen Sonntag noch.

          Gruß, Mathias

          --
          ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
          debian/rules
          1. hi

            kann man sich irgendwie anzeigen lassen, ob die Information über STDERR, STDOUT, etc. ausgegen wird?

            liebe Grüße
            Clara

            1. gudn tach!

              kann man sich irgendwie anzeigen lassen, ob die Information über STDERR, STDOUT, etc. ausgegen wird?

              hmm, ja, man z.b. koennte foo mit foo 2>&1 vergleichen.

              aber in der praxis wird man sowas afais nur sehr selten brauchen. wozu willst du diese information haben? wenn du "2>&1" verwendest wird halt einfach alles in stdout ausgegeben.

              prost
              seth

              1. Hi

                aber in der praxis wird man sowas afais nur sehr selten brauchen. wozu willst du diese information haben? wenn du "2>&1" verwendest wird halt einfach alles in stdout ausgegeben.

                Wissen kann nie schaden :-)

                Clara