sorismetles szurese

Kezdőlap Fórumok Programozás sorismetles szurese

10 bejegyzés megtekintése - 1-10 / 10
  • Szerző
    Bejegyzés
  • #1995868
    xcut
    Felhasználó

      nem lehetne perl? abban sokkal könnyebb…

      #1995869
      TsO
      Felhasználó

        A problema nem bonyolult:
        Adott egy file, benne sok nev, s azt szeretnem, hogy minden kulonbozo elofordulast irjon ki, s szamolja meg, hanyszor tortent!

        valaszkent termeszetesen nem kesz shell scriptet varok (bar nem haragszom erte 🙂 ) , hanem otleteket, hogy ki hogyan valositana meg, milyen parancsok segitsegevel, mit nezzek at, stb!
        [align=right][snapback]109656[/snapback][/align]

        hát olvasd be elõször a soronként az eredeti file-t és soronként ellenõrizd h benne van e egy tömben, ha nincs akkor tedd bele, ha van akkor meg ne csinálj semmi 😉

        példa az mplayer-installer-bõl (install.sh) :

        Code:
        while read file; #deleting unnecessary files in $down_dir
        do
         d=${#ins_files[*]}
         del=”yes”
         while [ „$d” -ge „0” ]; do
           if [ „${ins_files[$d]}” = „$file” ]; then
               del=”no”
               echo „Don’t delete in $down_dir: $file”
           fi
           let d=d-1
         done
         if [ „$del” = „yes” ]; then
           echo „Deleting in $down_dir: $file”
           rm -r $down_dir/$file
          fi
          let fil=fil+1
        done < down_files.txt

        annyi különbség eközött meg a te felvetésed elvi megoldása között, hogy itt már megvan a tömb, neked meg gyakorlatilag az if [ „del” = „yes” ] ágban lévõ rm helyett (ugye ebben az esetben nincs benne a tömben a keresett név) bele kell tenned abba …

        [ezeket kivettem, innen, csak az eredetiben szerepel:
        és ne zavarjon meg a ${…} meg az `eval_gettext „….”` ez elsõ csak színt állít a második meg fordítja a localnak megfelelõ nyelvre a fenti stringeket (erre gondolom nincs szükséged)]

        #1995870
        TsO
        Felhasználó

          nah jó már kezdek felébredni ( a 2. kv közben)…

          sz’al átírva a te problémádra vhogy így nézne ki:

          Code:
          #!/bin/sh
          while read nev; #nevek ellenõrzése
          do
          d=${#nevek[*]}
          dupla=”nem”
          while [ „$d” -ge „0” ]; do
            if [ „${nevek[$d]}” = „$nev” ]; then
                dupla=”igen”
                echo „A $nev létezik a tömbben…”
            fi
            let d=d-1
          done
          if [ „$dupla” = „nem” ]; then
            echo „$nev”
            nevek[$n]=$nev
          fi
          let n=n+1
          done < nevek.txt
          #1995871
          admin
          Adminisztrátor

            nem lehetne perl? abban sokkal könnyebb…
            [align=right][snapback]109695[/snapback][/align]

            tudom, hogy egyszerubb. 🙂
            De annelkul meg izgalmasabb. 😉

            #1995872
            admin
            Adminisztrátor

              nah jó már kezdek felébredni ( a 2. kv közben)…

              sz’al átírva a te problémádra vhogy így nézne ki:

              Code:
              #!/bin/sh
              while read nev; #nevek ellenõrzése
              do
              d=${#nevek[*]}
              dupla=”nem”
              while [ „$d” -ge „0” ]; do
                if [ „${nevek[$d]}” = „$nev” ]; then
                    dupla=”igen”
                    echo „A $nev létezik a tömbben…”
                fi
                let d=d-1
              done
              if [ „$dupla” = „nem” ]; then
                echo „$nev”
                nevek[$n]=$nev
              fi
              let n=n+1
              done < nevek.txt

              [align=right][snapback]109714[/snapback][/align]

              Koszonom. 🙂 gondoltam kapok egy valaszt, hogy csinald while -lal, meg tomb segitsegevel, de igy meg jobb! 😀

              jo reggelt egyebkent! 😀

              #1995873
              uzsolt
              Felhasználó

                A kovetkezo dolgot szeretnem megoldani lehetoseg szerint shell script segitsegevel, s nem perl, python, vagy ilyesmi hasznalataval. 🙂

                A problema nem bonyolult:
                Adott egy file, benne sok nev, s azt szeretnem, hogy minden kulonbozo elofordulast irjon ki, s szamolja meg, hanyszor tortent!
                [align=right][snapback]109656[/snapback][/align]

                Lehet, hogy most túl egyszerû, de a uniqe progi nem erre való? Próbáld meg!

                #1995874
                Leslieman
                Felhasználó

                  Ha nem érdekes, hogy közben sorba rendezi a neveket (sorokat), akkor itt egy ilyen:

                  Code:
                  #! /bin/sh
                  if [ $# != 2 ]; then
                     echo „Hasznalat: $0 infile outfile”
                     exit
                  fi

                  in_file=”$1″
                  out_file=”$2″
                  sort „$in_file” | uniq > „$out_file”

                  s szamolja meg, hanyszor tortent!

                  Mit értesz a „hányszor történt”-en?

                  #1995875
                  killall
                  Felhasználó

                    lol

                    cat file | sort | uniq

                    ennyi az egesz.

                    #1995876
                    TsO
                    Felhasználó

                      lol

                      cat file | sort | uniq

                      ennyi az egesz.
                      [align=right][snapback]111239[/snapback][/align]

                      lolozzál még meg „számoltasd össze” aztán már csak pár sorral rövidebb.
                      megoldások száma szinte végtelen, emiatt felesleges lolozni,
                      amúgy meg látok benne 1 dolgot amit kihagytam, meg 2-t amit elrontottam, de tök mind1, meghagyom neked hogy lolozhass tovább…a lényeg h az menjen…
                      érdekes h majd 1 hét eltelt a kérdés felvetése óta és most jössz ezzel pff

                      #1877885
                      csaba
                      Felhasználó

                        A kovetkezo dolgot szeretnem megoldani lehetoseg szerint shell script segitsegevel, s nem perl, python, vagy ilyesmi hasznalataval. 🙂

                        A problema nem bonyolult:
                        Adott egy file, benne sok nev, s azt szeretnem, hogy minden kulonbozo elofordulast irjon ki, s szamolja meg, hanyszor tortent!

                        valaszkent termeszetesen nem kesz shell scriptet varok (bar nem haragszom erte 🙂 ) , hanem otleteket, hogy ki hogyan valositana meg, milyen parancsok segitsegevel, mit nezzek at, stb!

                        koszonom a segitseget.

                        szerk: Nevek soronkent vannak (ez nem volt teljesen egyertelmu), azaz
                        cat file

                        pisti
                        bela
                        feri
                        pisti
                        juli
                        teri
                        pisti

                        eredmenyt szeretnem:

                        pisti
                        bela
                        feri
                        juli
                        teri

                        tehat minden nev egyszer legyen felsorolva.

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