ismetlodo sorok torlese

Kezdőlap Fórumok Programozás ismetlodo sorok torlese

10 bejegyzés megtekintése - 1-10 / 15
  • Szerző
    Bejegyzés
  • #1889611
    ktibi
    Felhasználó

      Sziasztok,

      tudna valaki egy elegans szkiptet adni, ami egy file-ban kitorli az ismetlodo sorokat (azaz ami eggynel tobbszor szerepel)?

      Altalanosan kellene torolni azokat a sorokat, amik ismetlodnek, tehat nem tudok megadni semmilyen pattern-t, hogy mit is tartalmaz. Lehetseges ez, ha igen, hogyan?

      (Uzsolt: koszi a multkorit:)

      #2199658
      ktibi
      Felhasználó

        A ketszer ismetlodo sorokra letezik egy sed parancs : sed 'x; G; /^(.*)n1$/ d; g; p; d'

        Letezik-e ennek altalanositasa >2 sor eseten?

        #2199659
        uzsolt
        Felhasználó

          A uniq paranccsal ismerkedj meg 😉
          $ echo -e "AlmanAlmanSzilvanAlma"
          Alma
          Alma
          Szilva
          Alma
          $ echo -e "AlmanAlmanSzilvanAlma" |uniq
          Alma
          Szilva
          Alma

          #2199660
          Goosfrabaa
          Felhasználó

            Szerintem nem volt feltétel, hogy az ismétlődéseknek egymás utáni sorokban kell lenniük. Ekkor pedig nem lesz jo az uniq..
            Persze lehetne előtte rendeztetni, csak nem biztos, hogy a felhasználó szeretné, ha az állománya rendezetté válna.

            #2199661
            ktibi
            Felhasználó

              Valóban, ha a uniq csak ugy tud torolni, hogy az ismetlodo soroknak egymas utan kell lenniuk, akkor nem lesz jo. Viszont lehet, hogy rendezni kene a dolgot…ezen meg gondolkodom. Amugy, ha rendezni kellene, akkor hogyan erdemes?

              #2199662
              uzsolt
              Felhasználó

                Az első, a topikindító (ktibi) általi hozzászólásban levő sed nem működik, ha nem egymás után vannak az ismétlődő sorok, ezért úgy gondolom, hogy még ha nem is rendezett a fájl, de az ismétlődő sorok egymás után vannak.
                Ha nem lehet rendezni, és úgy akarja, akkor szerintem érdemesebb valami komolyabb eszközzel nekimenni, mint bash-szkriptelgetni (perl, python, c, vagy valami hasonló).

                #2199663
                kisbetu
                Felhasználó

                  Többször futtatod.
                  Ha nem törölt semmit, akkor végzett.

                  #2199664
                  ktibi
                  Felhasználó

                    Az a helyzet, hogy a sed script mukodik, hiszen az egymas utan ismetlodo sorok kozul torli az egyiket. De az en adatsoromban nem csak es kizarolag egymas utan vannak ismetlodo sorok, hanem ossze-vissza elszortan. Tehat ezek rendezese tok jo lenne, ekkor valoszinuleg mukodne is a uniq…
                    Már csak rendezni kellene akkor az adatsort… Tudsz erre egy par soros valami hint-et adni? Az adatsorom „%.32fn” alaku szamokbol all.

                    #2199665
                    kisbetu
                    Felhasználó

                      sort
                      ?

                      #2199666
                      Goosfrabaa
                      Felhasználó

                        Ha lehet rendezni, akkor a legegyszerűbb szerintem a sort -u ./adatfajl parancs.
                        Ez rendez és rögtön ki is dobja az azonos sorokat.

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