AWK , SEGITSETEK !!

Kezdőlap Fórumok Programozás AWK , SEGITSETEK !!

10 bejegyzés megtekintése - 1-10 / 24
  • Szerző
    Bejegyzés
  • #2013237
    uzsolt
    Felhasználó
      Code:
      2) echo „kerem beszurando sor szamat”
      read szam
      echo „kerem a beszurando sort”
      read szoveg
      cat $1 | awk „{if (NR == $szam) {print szoveg}
      else {print $0 }” >> $1;;

      Szerintem a „>> $1” átirányítás nem jó, mivel a >> -kor hozzáírás lesz a vége, tehát a $1 -bõl lesz $1+(beszúrt $1). Itt szerintem egy ideiglenes file-ba irányítod > -vel, majd ezt átnevezed $1-re.

      Code:
      3) echo „kerem a torlendo sor szamat”
      read sorszam
      cat $1 | awk „{ if ( NR != sorszam) then print $0}” > $1;;

      Hasonlóan, mint 2. Asszem nem túl jó ötlet ugyanazt a file-t használni inputnak (cat) és outputnak (>).

      Code:
      4) echo ” kerem a keresendo szot”; read szo
      cat $1 | awk „{ db=0;
      for ( i=1; i <= NF; i++) { if(i == szo) then { db++ } } echo " $db talalat volt " }";;

      Szerintem a szo helyett $szo kellene, nem? Meg szerintem a ciklus se tökéletes. De grep-pel nem lenne jobb?

      Code:
      db=`grep $szo $1 | wc -l `
      Code:
      6) cat $1 | awk „{ MAX=0;
      for ( i=1; i <= NF; i++ ) { if( $i -gt MAX) { MAX = $i}} echo "$MAX a maximum "}";;

      awk helyett szerintem itt pedig sort-ot lehetne használni (sort -n):

      Code:
      max=`sort -n $1 | head -n 1`

      Remélem, ilyesmire gondoltál. Meg hogy ez volt a pontosan kitûzött feladat 🙂

      #2013238
      nd3000
      Felhasználó

        koszi a sok segitseget , maris puttyolok az egyetemi gepre.

        #2013239
        uzsolt
        Felhasználó

          koszi a sok segitseget , maris puttyolok az egyetemi gepre.
          [align=right][snapback]130690[/snapback][/align]

          Akkor köszönd, ha már mûködik is. Tudod, nyugtával dícsérd a napot 🙂

          #2013240
          nd3000
          Felhasználó

            jaja:P

            csak azt nem ertem h itt miert idezojelek koze irdo ? igy ez stringkent visszairna , nem ?

            db=`grep $szo $1 | wc -l `

            vagy akar a 6.menupontba amit ajanlottal…

            #2013241
            nd3000
            Felhasználó

              db=$()…ra gondoltal nem ?

              #2013242
              uzsolt
              Felhasználó

                jaja:P

                csak azt nem ertem h itt miert idezojelek koze irdo ? igy ez stringkent visszairna , nem ?

                db=`grep $szo $1 | wc -l `

                vagy akar a 6.menupontba amit ajanlottal…
                [align=right][snapback]130692[/snapback][/align]

                Nem idézõjel! Hanem Alt+7 (legalábbis pc-ken, „normál” billentyûzetnél). Valami fordított aposztrófhoz hasonlít. Ez azt csinálja, hogy ezen két „aposztróf” közé berakott parancsot végrehajtja, majd annak a kimenetével tér vissza. Tehát ebben az esetben grep $szo $1 végrehajtódik, kiír x sort, ezt a wc elkapja, megszámolja a sorokat, és ez egy számmal tér vissza (nyilván x-szel). Ez a szám adódik át a ` jelek miatt a db változónak.

                #2013243
                nd3000
                Felhasználó

                  es mindez nemjo megoldashoz vezet , mert mivan ha valami tobbszor szerepel egy sorban:D???

                  #2013244
                  nd3000
                  Felhasználó

                    LECCI calaki valositsa meg a 2.ik menupontot es a tobbit tuti tudni fogom 🙁

                    #2013245
                    uzsolt
                    Felhasználó

                      es mindez nemjo megoldashoz vezet , mert mivan ha valami tobbszor szerepel egy sorban:D???
                      [align=right][snapback]130698[/snapback][/align]

                      Ez bizony igaz 🙁
                      Nem tudom, egy sed-hez mit szólnál 🙂

                      Code:
                      db=`grep $szo $1 | sed ‘s/$szo/$szon/g’ | wc -l`

                      Lehet, hogy kezdem már elbonyolítani, de hirtelen más nem jut eszembe. Bár mintha ezzel is lenne probléma, mert valami nem tetszik benne. De mindjárt prószálom…

                      #2013246
                      uzsolt
                      Felhasználó

                        Lehet, hogy kezdem már elbonyolítani, de hirtelen más nem jut eszembe. Bár mintha ezzel is lenne probléma, mert valami nem tetszik benne. De mindjárt prószálom…
                        [align=right][snapback]130700[/snapback][/align]

                        Ott a gond, hogy ha a sor végén van a $szo, akkor egy üres sor is bejön.

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