Announcement

Collapse
No announcement yet.

grep Ausdruck: Anzahl von Zeilen, dir nur aus Zahlen bestehen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • grep Ausdruck: Anzahl von Zeilen, dir nur aus Zahlen bestehen

    Hallo Leute
    ich bin auf der Suche nach einem grep Ausdrück, der mir die Anzahl von Zeilen in einer .txt Datei ausgeben soll. die nur aus Zahlen bestehen.

    Mein .txt Datei besteht aus folgende Zeilen.

    3 Tage 22 Stunden 38 Minuten 30 Sekunden
    3 Tage 22 Stunden 38 Minuten 5 Sekunden
    3 Tage 22 Stunden 0 Minuten 10 Sekunden
    4 Tage 20 Stunden 41 Minuten 55 Sekunden
    3 Tage 20 Stunden 41 Minuten 15 Sekunden
    3 Tage 17 Stunden 43 Minuten 37 Sekunden
    2040339935
    2001082023
    2001082024
    02012345678
    02012345679
    02012345449



    Mein Shell Ausdrück muss in diesem Fall 6 ausgeben.
    Vielen Dank im Voraus
    Gruß
    Basay

  • #2
    ^\d+$ wäre das Muster
    Christian

    Comment


    • #3
      Wie würde ganze Ausdruck aussehen Christian?
      ich muss irgendwie wc -l und grep miteinander kombinieren. oder?

      Comment


      • #4
        http://www.linux-fuer-blinde.de/135-...-mit-grep.html
        Christian

        Comment


        • #5
          Ich komme leider nicht klar Christian

          Code:
          wc -l Ergebnis.dat | grep -v "Stunden"
          sollte mir theoretisch 6 ausgeben. Also Anzahl der Zeilen, die nicht "Stunden" entstehen.

          Gruß
          Basay

          Comment


          • #6
            Sorry.
            ich habe ein "dummer" Fehler gemacht.

            Code:
            grep -v "Stunden" Ergebnis.dat | wc -l
            gibt im Moment das richtige Ergebnis aus.

            Danke

            Gruß
            Basay

            Comment


            • #7
              Dann lege erstmal deine Anforderungen fest "die nicht "Stunden" entstehen" ist etwas anderes als "die nur aus Zahlen bestehen". Weiterhin gibt es in deiner Datei keine Zeile, in der nur Stunden - das ist dein Muster - steht
              Christian

              Comment


              • #8
                Hallo Christian
                meine Lösung ist eine "vorläufige" Lösung. Es wäre toll, wenn es so ein "allgemein" Ausdruck gäbe. Also ein Ausdruck, der lediglich die Zeilen ausgibt, die aus Zahlen entstehen.

                Comment


                • #9
                  Was ist mit ^\d+$
                  Christian

                  Comment


                  • #10
                    sorry aber was soll ich unter ^\d+$ verstehen. ich bin neuling mit Shell und Linux. Kannst du so nett sein und mir einen ganzen Ausdruck mit ^\d+$ schreiben.
                    Danke

                    Comment


                    • #11
                      Das ist ein regulärer Ausdruck http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck
                      Christian

                      Comment


                      • #12
                        Im Prinzip so:
                        Code:
                         grep -e '^\d+$' Ergebnis.dat | wc -l
                        "\d" geht im Linux nicht (zuminest nicht bei mir), das ist eine Abkürzung für "[[:digit:]]". Das "+" musste ich auch noch escapen:

                        Code:
                         grep -e '^[[:digit:]]\+$' Ergebnis.dat | wc -l
                        Gruss

                        Comment

                        Working...
                        X