Bash script

Kezdőlap Fórumok Programozás Bash script

10 bejegyzés megtekintése - 51-60 / 438
  • Szerző
    Bejegyzés
  • #2053229
    bandras
    Felhasználó

      Sziasztok!

      Most kezdek ismerkedni a szkriptekkel és nem tudok rájönni, hogy egy config fájlból, hogyan tudok kiolvasni egy értéket. Pl.:

      nev=kisgeza

      #2053230
      uzsolt
      Felhasználó

        Ha szkriptben akarod:

        Code:
        . ertekparok/file # source ertekparok/file is jó!
        echo $nev

        Ha parancssorban, és nem akarsz környezeti változókat „pazarolni”:

        Code:
        grep „aminek_az_ertekere_kivancsi_vagy” ertekparok/file | awk -F „=” {‘print $2’}

        Persze az utóbbi szkriptben is mûködik.

        #2053231
        juuzer
        Felhasználó

          Azt hogy egy ciklus hányszor hajtódik végre, ezen kívül meg lehet valahogy számolni? (while/until)

          Code:
          n=`expr $n + 1`
          echo $n
          #2053232
          uzsolt
          Felhasználó
            #2053233
            bandras
            Felhasználó
              uzsolt wrote:
              Ha szkriptben akarod:

              Code:
              . ertekparok/file # source ertekparok/file is jó!
              echo $nev

              Ha parancssorban, és nem akarsz környezeti változókat „pazarolni”:

              Code:
              grep „aminek_az_ertekere_kivancsi_vagy” ertekparok/file | awk -F „=” {‘print $2’}

              Persze az utóbbi szkriptben is mûködik.

              Köszi szépen, így jól mûködik.

              De én már tovább binyolítottam az elképzelésemet: Most olyat szeretnék, hogy egy szekciókat is tartalmazó config (ini) fájlból szeretnék kiolvasni értékeket. pl.:

              [szekcio_1]
              nev=kisgeza
              szuletes_ev=1954

              [szekcio_2]
              nev=nagybela
              szuletesi_ev=1980

              stb…

              Vagyis: egy ilyen config fájlból hogyan tudnám meghatározni pl a szekcio_1 -> nev értékét?

              #2053234
              ELaci
              Felhasználó

                A bash és az awk is tud tömböket kezelni.

                #2053235
                uzsolt
                Felhasználó
                  bandras wrote:
                  Vagyis: egy ilyen config fájlból hogyan tudnám meghatározni pl a szekcio_1 -> nev értékét?

                  Ilyet egyszer pascal-ban csináltam. Annyi a lényeg, hogy mindig tárolod, hogy melyik környezetben vagy.

                  De ha keresni akarsz szekció-név értéket, akkor szintén grep. Paramétereket nem tudok adni, csak elvet: rákeresel „[szekció]”-ra, és addig listázod a dolgokat, amíg újra nem „[.*]”-gal találkozol. Ebben a listában a „név”-re rákeresel. Szerintem a grep-nek van olyan paramétere, amely azt mondja, hogy találat után mindent írjon ki.

                  Vagy pedig awk-val, jó kis nyelve van ilyenekre. Persze nyilván perl-lel könnyen meg lehet oldani (gondolom), de ez anélkül igazi kihívás 🙂

                  #2053236
                  MyCroft
                  Felhasználó
                    uzsolt wrote:
                    Szerintem a grep-nek van olyan paramétere, amely azt mondja, hogy találat után mindent írjon ki.

                    Van, illetve valami hasonlót lehet csinálni.
                    -A num: Az illeszkedést mutató sorok UT

                    #2053237
                    uzsolt
                    Felhasználó
                      MyCroft wrote:
                      Van, illetve valami hasonlót lehet csinálni.
                      -A num: Az illeszkedést mutató sorok UT
                      #2053238
                      MyCroft
                      Felhasználó
                        uzsolt wrote:
                        Igen, ezt tudom, csak az a ‘num’ zavar, mert nem tudod, hogy utána mennyi van még. Persze lehet egy olyat csinálni (most jutott eszembe), hogy megszámolod a konfig file sorait, és annyi sort íratsz ki (annyi biztos elég:), azaz:

                        Code:
                        grep -A `wc -l filenev` „[szekció]” filenev

                        Mivel saját konfig filet-t akar kezelni, gondoltam tudja, hogy egy szekción belül hány sor lesz 🙂
                        (Legalábbis a példa alapján úgy tûnik)

                      10 bejegyzés megtekintése - 51-60 / 438
                      • Be kell jelentkezni a hozzászóláshoz.