sor szűrése / awk

Kezdőlap Fórumok Programozás sor szűrése / awk

6 bejegyzés megtekintése - 1-6 / 6
  • Szerző
    Bejegyzés
  • #1889985
    ktibi
    Felhasználó

      Udv!Ilyen soraim vannak egy file-ban (mondjuk 1000 sor; 3 db. oszlop)

      Code:
      1 0.054210 41 1.215824 51 0.790275 321 0.739529 233 0.429844 123 0.000000 94...

      Ugy szeretnem kiszurni ezeket a sorokat, hogy minden azonos erteku elso oszlophoz megkeresni a masodik oszlopban a legkisebb erteket es ekkor kiiratni ahhoz a sorhoz tartozo harmadik oszlopot.Tudna valaki segiteni?A fenti pl. alapjan ez lenne az output:

      Code:
      1 0.054210 43 0.000000 94

      illetve, csak a harmadik oszlopa

      Code:
      494

      Megj.: Talan konnyebseg lehet, hogy az elso oszlopok novekvo szamsorrendben vannak... (bar egy

      Code:
      sort

      rendezi, de mind1)

      #2202760
      Goosfrabaa
      Felhasználó

        Igaz, hogy nem kimondottan elegáns, de működik:

        Code:
        #!/bin/bash# Az adatfile neve es helye:file=/tmp/szam_lista# Az adatfajl elso oszlopaban talalhato kulonbozo szamok megkeresese# feltetelezve, hogy mar az elso oszlop szerint rendezett az adatfile:elemek=$(awk {'print $1'} $file | uniq)# Vegigmegyunk az elemeken es az adott szamhoz tartozo elso talalatot kiiratjukfor szam in $elemekdo

        #2202761
        ktibi
        Felhasználó

          Koszi szepen, jol mukodik…Ha lehet meg egy pofatlan keres:ha pl, igy nez ki a file

          Code:
          1 1 0.054210 4 1 3 0.054210 71 4 0.054210 121 1 1.215824 51 2 0.790275 321 6 0.739529 233 1 0.429844 1993 3 0.429844 163 5 0.429844 1123 1 0.000000 943 2 0.000000 953 3 0.000000 873 5 0.000000 11

          Ekkor azt kellene, hogy a szinten egyezo elso oszlophoz a harmadik minimumat megtalalni, es a masodik oszlop ertekeihez tartozo utolso oszlop ertekeket eltarolni.. Ez ugye valamifele hisztogram lenne, mert pl. a fenti alapjan ez lenne az eredmeny:

          Code:
          1 41 943 73 87

          #2202762
          Goosfrabaa
          Felhasználó

            Lehet, hogy csak én vagyok kicsit fáradt, de nem értem mit szeretnél.Az adott kezdő oszlop értékű sorokból (ami a mintában csak 1 és 3) azokat keresed, ahol a 3. oszlop értéke a legkisebb?Mert akkor az 1-el kezdődő sorok közül a 0.054210 a legkisebb érték (ami három sorban is szerepel), de végül melyik oszlop is kell?A 3-al kezdődőeknél pedig a 0.000000

            #2202763
            ktibi
            Felhasználó

              Igen, jol latod….

              az 1-el kezdődő sorok közül a 0.054210 a legkisebb érték (ami három sorban is szerepel)

              A 3-al kezdődőeknél pedig a 0.000000

              #2202764
              ktibi
              Felhasználó

                Most hogyan tovabb?

              6 bejegyzés megtekintése - 1-6 / 6
              • Be kell jelentkezni a hozzászóláshoz.