Keresés – Csere: egyszerűbben

Kezdőlap Fórumok SOS! Bajban vagyok Keresés – Csere: egyszerűbben

9 bejegyzés megtekintése - 1-9 / 9
  • Szerző
    Bejegyzés
  • #2157953
    uzsolt
    Felhasználó
      strapal wrote:
      (kivastagitva)
      Ahogy Móricka elképzeli 😉

      Tehát ahogy értem, akkor a „resid” és „and name” közötti számokat kell csereberélni?
      Ha igen, akkor az általam oly imádott sed lesz a megoldás 🙂
      Első közelítésre:

      Code:
      sed -r „s@(resid *)26( *and name)@1 122@g”

      Persze ha a fájlban rögtön változtatni kell, akkor sed -i -r … fájlnév. A -i opció nem biztos, hogy minden rendszeren megvan, meg azért először egy próbafájlon (gyk. másolaton) javaslom végrehajtani.

      Állítom, írok egy hótút erről a sed-ről, amit kb. fél óra alatt meg lehet érteni, és egy ilyen, viszonylag egyszerűnek mondható cserét meg lehessen a segítségével oldani. Persze tíz perc azért jobb, mint fél óra ;D

      #2157954
      uzsolt
      Felhasználó
        strapal wrote:
        (kivastagitva)
        Ahogy Móricka elképzeli 😉

        Tehát ahogy értem, akkor a „resid” és „and name” közötti számokat kell csereberélni?
        Ha igen, akkor az általam oly imádott sed lesz a megoldás 🙂
        Első közelítésre:

        Code:
        sed -r „s@(resid *)26( *and name)@1 122@g”

        Persze ha a fájlban rögtön változtatni kell, akkor sed -i -r … fájlnév. A -i opció nem biztos, hogy minden rendszeren megvan, meg azért először egy próbafájlon (gyk. másolaton) javaslom végrehajtani.

        Állítom, írok egy hótút erről a sed-ről, amit kb. fél óra alatt meg lehet érteni, és egy ilyen, viszonylag egyszerűnek mondható cserét meg lehessen a segítségével oldani. Persze tíz perc azért jobb, mint fél óra ;D

        #2157955
        birno
        Felhasználó
          uzsolt wrote:
          Állítom, írok egy hótút erről a sed-ről, amit kb. fél óra alatt meg lehet érteni, és egy ilyen, viszonylag egyszerűnek mondható cserét meg lehessen a segítségével oldani.

          Egy katt-ot tudok garantálni és akkor már megérte. 😉 smiley.gif

          #2157956
          birno
          Felhasználó
            uzsolt wrote:
            Állítom, írok egy hótút erről a sed-ről, amit kb. fél óra alatt meg lehet érteni, és egy ilyen, viszonylag egyszerűnek mondható cserét meg lehessen a segítségével oldani.

            Egy katt-ot tudok garantálni és akkor már megérte. 😉 smiley.gif

            #2157957
            strapal
            Felhasználó

              Köszönöm uzsolt, nagyszerűen működik. Mivel több ilyen jellegű problémám is van, és a legfőbb baj, hogy az elkövetkezendőkben lesz is, örömmel venném a sed-doksit.

              #2157958
              strapal
              Felhasználó

                Köszönöm uzsolt, nagyszerűen működik. Mivel több ilyen jellegű problémám is van, és a legfőbb baj, hogy az elkövetkezendőkben lesz is, örömmel venném a sed-doksit.

                #2157959
                uzsolt
                Felhasználó

                  Na, ha ilyen igény van rá, akkor valamikor megpróbálok valami tutorial-szerűt írni… Egy-két nap/hét/hónap/év, oszt’ kész lesz (valószínűleg a néhány hét a reális…)

                  #2157960
                  uzsolt
                  Felhasználó

                    Na, ha ilyen igény van rá, akkor valamikor megpróbálok valami tutorial-szerűt írni… Egy-két nap/hét/hónap/év, oszt’ kész lesz (valószínűleg a néhány hét a reális…)

                    #1888016
                    csaba
                    Felhasználó

                      Hali,
                      a következő problémára szeretnék megoldást találni. Adott rengeteg fájl, melynek egy sora kb igy néz ki:

                      Code:
                      assign (resid  [B]26[/B] and name HA    )(resid  [B]28[/B] and name HN    ) 4.0 1.7 1.0 !  3.728 7.483 3.735 7.483 0.007 0.000

                      Azt szeretném, hogy a fájlokban valami egyszerű szkripttel vagy programmal, a fájlban levő 26-ost és 28-ast (kivastagitva) le tudjam cserélni, hogy a példánál maradjunk, 7-esre illetve 9-esre. Tehát igy nézne ki a fájlnak ez a sora:

                      Code:
                      assign (resid  7 and name HA    )(resid  9 and name HN    ) 4.0 1.7 1.0 !  3.728 7.483 3.735 7.483 0.007 0.000

                      Természetesen a fájlban 20-39-es számokat kellene lecserélnem 1-19-re, úgy hogy más számokat ne bántson (ezt neház kivitelezni egy egyszerű szövegszerkesztő ilyen célú funkciójával, mivel nagyon fárasztó – példaként megemlitem, hogy abban a fájlban 398 hasonló sor van.
                      Hogyan lehet megoldani a fennt leirt cserét?
                      (Mielőtt belém kötnétek, nem tudom hogy hol van a billentyűzeten a hosszú i)

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