Bash/awk proléma

Kezdőlap Fórumok Programozás Bash/awk proléma

10 bejegyzés megtekintése - 11-20 / 20
  • Szerző
    Bejegyzés
  • #2015039
    Shalala
    Felhasználó

      Na sikerult egy masik szerverre fel „puttyolnom”.
      Itt mar van -maxdepth.

      Viszont van egy olyan probema, hogy barmit irok be parameterkent elkezd egy csomo karaktert kiirni hosszu oldalakon keresztul, utanna pedig kb 1 oldalon at csak a putty szot irja ki 🙂 aztan kifagy 🙁

      Na most hogyan tovabb szerinted?

      #2015040
      maszili
      Felhasználó

        Viszont van egy olyan probema, hogy barmit irok be parameterkent elkezd egy csomo karaktert kiirni hosszu oldalakon keresztul, utanna pedig kb 1 oldalon at csak a putty szot irja ki 🙂 aztan kifagy 🙁

        Nem kizart hogy valamilyen trukkos BASH dolog rosszul mukodik
        azon a parancsertelmezon.

        Na most hogyan tovabb szerinted?

        Lepesenkent kell ellenorizni hogy mukodik vagy sem, illetve hol a hiba…
        Nezd meg kulon-kulon hogy a fobb reszek mukodnek vagy sem:

        Ha a parameterek szama nem egy akkor hibauzenet es kilep…

        Code:
        #!/bin/bash

        [ $# != 1 ] && echo „Hasznalat: ${0##*/} SZAM” && exit

        Kilistazza az allomanyokat es konytarakat egy konyvtar melysegben formatumban…

        Code:
        #!/bin/bash

        [ $# != 1 ] && echo „Hasznalat: ${0##*/} SZAM” && exit

        while read tmp; do
        echo $tmp
        done < <(find "." -maxdepth 2 -printf "%s %pn")

        Osszeadja a meretuket…

        Code:
        #!/bin/bash

        [ $# != 1 ] && echo „Hasznalat: ${0##*/} SZAM” && exit

        while read tmp; do
        ((sum+=${tmp%% *}))
        done < <(find "." -maxdepth 2 -printf "%s %pn") echo "Osszesen: $sum bajt"

        Es igy tovabb… szepen egyenkent add hozza a tobbit…

        #2015041
        Shalala
        Felhasználó

          Megneztem ezeket amiket irtal es ott, hogy osszeadja a meretuket, teljesen mindegy milyen parametert adok mindig ugyanazt a szamot irja ki: (33737126 bajt)

          #2015042
          Shalala
          Felhasználó

            Ma vegigprobaltam az egeszet, es akkor hulyul be a program mikor engedem neki, hogy fajlok kozott is keressen. Amig csak a konyvtarak kozott keres addig tokeletes, bar ott mindig ugyanazt a mennyiseget irja ki es mindig az osszes konyvtarat kijelzi. 😉

            Viszont ha a fajlok kozott is kereshet akkor elkezd oldalakon keresztul porgetni szovegeket, utanna pedig szepen kifagy.

            #2015043
            Shalala
            Felhasználó

              Hello!

              Mar eljutottam odaig, hogy nem fagy ki a program mindent szepen kilistaz, ahogy kell.

              Es itt a baj 🙂 Mindent kilistaz nem csak a megfelelo meretut.

              Ebben tudnal meg nekem segiteni??

              ebben a tmp-vel mit csinal?? mert amikor ki akartam iratni akkor csak azt irta ki hogy tmp

              #2015044
              maszili
              Felhasználó

                ebben a tmp-vel mit csinal?? mert amikor ki akartam iratni akkor csak azt irta ki hogy tmp

                Szegedi Tudományegyetem
                Természettudományi Kar
                Informatikai Tanszékcsoport

                Milyen szakra jarsz?
                Ugye nem vegyesz, vagy biologus? 🙂
                Azt gondoltam hogy azert az alapokkal tisztaban vagy…
                Ha mar ezt tanitjak nektek.

                Az echo tmp kiirja hogy „tmp”

                Az echo $tmp kiirja a „tmp” valtozo tartalmat!

                Olvasd el tanar altal adott jegyzetet, (ha van olyan) vagy keress az interneten (google)
                esetleg olvasd el ezt abs-guide-3.3.tar.bz2

                #2015045
                Shalala
                Felhasználó

                  tenyleg rosszul irtam. Nem figyeltem bocs 🙂

                  De azt tovabbra se ertem hogy miert listazza ki az osszes fajlt, nem pedig csak azokat amiknek a merete bajtban megegyezik a parameternek adott ertekkel.

                  Ebben tudsz-e segiteni?

                  Remelem nem farasztalak tulsagosan a sok kerdessel. :blush:

                  Udv

                  #2015046
                  maszili
                  Felhasználó

                    De azt tovabbra se ertem hogy miert listazza ki az osszes fajlt, nem pedig csak azokat amiknek a merete bajtban megegyezik a parameternek adott ertekkel.

                    Ha akkor elemezgessuk egy kicsit ezt a sort…

                    Code:
                    [ -f ${tmp#* } ] && ! (( ${tmp%% *} < $1 )) && echo -e "<---n${tmp#* } (${tmp%% *})n$(tail -n2 ${tmp#* })n--->„

                    A tmp valtozoban vannak a file/konyvtar adatok (minden sorban egy)
                    SPACE formaban…

                    Ez ${tmp#* } a file/konyvtar neve
                    Ez ${tmp%% *} a file merete

                    Ez [ -f ${tmp#* } ] akkor lesz igaz ha a nev egy file neve…

                    Ez ! (( ${tmp%% *} „

                    Legyel egy kicsit onalobb… batran kiserletezz.
                    Es ami a legfontosabb OLVASS SOK DOKUMENTACIOT!
                    Ne kelljen nekem elmagyarazni a nullarol az egeszet… 🙂

                    #2015047
                    Shalala
                    Felhasználó

                      Koszi azert, hogy megis elmagyaraztad 🙂

                      na mar megy a fajlkiiras .

                      Most ugy tunik megy minden rendesen 😀
                      Holnapig meg van idom tesztelni, hogy minden OK-e.

                      Sokat olvastam amugy, meg probalkoztam (ma is reggel 7-tol folyamatosan idaig), de valahogy nem jott ossze(bena vagyok)

                      Koszonom szepen a sok segitseget !

                      Udv

                      #1879477
                      csaba
                      Felhasználó

                        Sziasztok!

                        Adott a következö kötelezõ program:kotprog

                        Maga a program menne, nekem csak elakadtam az elejen.

                        Code:
                        #! /bin/bash
                        if [ $# -ne 1 ]
                        then
                           echo „Hasznalat: kp SZAM”
                           exit 1
                        fi
                        x=$1;
                        echo $1;
                        ls -l | awk ‘ $0 ~/^d/ && $5 = x ‘

                        Idáig jutottam. Ha nem 1 paramétert adunk akkor lépjen ki. Ha 1-et adtunk akkor ha awk-val azokat listáznám ki amelyik könyvtár és a mérete egyenlõ a paraméterrel.
                        De sajnos valamiért nem mûködik
                        ezt írja ki:
                        awk: syntax error near line 1
                        awk: bailing out near line 1

                        Abban szeretném a segítségeteket kérni, hogy mit csinálok rosszul?? 🙁

                        Elõre is köszi

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