Cutting with SED????

Kezdőlap Fórumok Programozás Cutting with SED????

10 bejegyzés megtekintése - 21-30 / 35
  • Szerző
    Bejegyzés
  • #2136686
    Curtis
    Felhasználó

      Emberek – ég a fejem mint a reistag…
      Az 1 dolog hogy el vagyok havazva, de hogy ennyi idő alatt képtelen legyek legyűrni 1 scriptet – ez gáz.
      A lényeg hogy az előzőekben egy egyszerűsített mintasort küldtem, gondoltam majd azzal megküzdök és betekerem jól – de vhogy nem akarja az igazat:((
      A sor így fest:

      változóhosszúszöveg|yyyy-mm-dd hh:mm:ss.ssss|mégegycsomószöveg|ésegy rakás oszlop

      Valószínűleg a pipe-ok zavarnak be, de sehogy nem akar lefutni. Vagy azzal száll el hogy nem létező pipe-ba akarok írni, vagy hogy nincs lezárva az s…

      Bármennyire is röstellem, újra kéne 1 kis help… 🙁

      Köszi:

      Curt

      #2136687
      Curtis
      Felhasználó

        Emberek – ég a fejem mint a reistag…
        Az 1 dolog hogy el vagyok havazva, de hogy ennyi idő alatt képtelen legyek legyűrni 1 scriptet – ez gáz.
        A lényeg hogy az előzőekben egy egyszerűsített mintasort küldtem, gondoltam majd azzal megküzdök és betekerem jól – de vhogy nem akarja az igazat:((
        A sor így fest:

        változóhosszúszöveg|yyyy-mm-dd hh:mm:ss.ssss|mégegycsomószöveg|ésegy rakás oszlop

        Valószínűleg a pipe-ok zavarnak be, de sehogy nem akar lefutni. Vagy azzal száll el hogy nem létező pipe-ba akarok írni, vagy hogy nincs lezárva az s…

        Bármennyire is röstellem, újra kéne 1 kis help… 🙁

        Köszi:

        Curt

        #2136688
        uzsolt
        Felhasználó

          Akkor sed-del szűrd ki és kész 😉 Azok a karakterek ott „mezőválasztóként” valóban „alt+w” karakterek? Ha igen, akkor egy awk-t a sed elé beraksz:

          Code:
          awk -F „|” {‘print $2’}

          Ha minden igaz, akkor ezzel a nyitó hozzászólásodban levőt kapod meg. Ha mégse, akkor lehet, hogy a | helyett egy | kell.

          #2136689
          uzsolt
          Felhasználó

            Akkor sed-del szűrd ki és kész 😉 Azok a karakterek ott „mezőválasztóként” valóban „alt+w” karakterek? Ha igen, akkor egy awk-t a sed elé beraksz:

            Code:
            awk -F „|” {‘print $2’}

            Ha minden igaz, akkor ezzel a nyitó hozzászólásodban levőt kapod meg. Ha mégse, akkor lehet, hogy a | helyett egy | kell.

            #2136690
            Curtis
            Felhasználó

              Ez tényleg gyors volt..- Thx
              Igen, Alt+w.. Próbálkozom még seddel, mert ha awk-t is hsználni akarok a win2003 serveren, azt engedélyeztetnem kell mindenfelé egyrészt, másrészt a pontosvessző az lehet a többi mezőben (mint tartalom) – amiket szintén sed-elgetek.
              Gyakorlatilag egy bazinagy teliszemetelt | delimited csv-t szeretnék betolni sql 2005-be- on the fly – temp táblák nélkül… Ahhoz az MS meg kevés – nomeg nem is csípem annyira mint a linuxot…Ezért döntöttem a sed mellett…
              Tudom, nem egyszerű az élet… 🙂

              #2136691
              Curtis
              Felhasználó

                Ez tényleg gyors volt..- Thx
                Igen, Alt+w.. Próbálkozom még seddel, mert ha awk-t is hsználni akarok a win2003 serveren, azt engedélyeztetnem kell mindenfelé egyrészt, másrészt a pontosvessző az lehet a többi mezőben (mint tartalom) – amiket szintén sed-elgetek.
                Gyakorlatilag egy bazinagy teliszemetelt | delimited csv-t szeretnék betolni sql 2005-be- on the fly – temp táblák nélkül… Ahhoz az MS meg kevés – nomeg nem is csípem annyira mint a linuxot…Ezért döntöttem a sed mellett…
                Tudom, nem egyszerű az élet… 🙂

                #2136692
                uzsolt
                Felhasználó

                  Akkor lehetőleg sed-del? Na várj!
                  Az oszlopok mindig így vannak és mindig ennyik? Ha igen, akkor az awk helyett:

                  Code:
                  sed „s@.*|(.*)|.*|.*@1@”

                  Szerk.:
                  talán egy elegánsabb megoldás, ami nem biztos, hogy működik, nem tudom kipróbálni, mivel nem otthon vagyok:

                  Code:
                  sed „s@[^|]*|([^|]*).*@1@”

                  A sed-paraméter módosult!!!

                  #2136693
                  uzsolt
                  Felhasználó

                    Akkor lehetőleg sed-del? Na várj!
                    Az oszlopok mindig így vannak és mindig ennyik? Ha igen, akkor az awk helyett:

                    Code:
                    sed „s@.*|(.*)|.*|.*@1@”

                    Szerk.:
                    talán egy elegánsabb megoldás, ami nem biztos, hogy működik, nem tudom kipróbálni, mivel nem otthon vagyok:

                    Code:
                    sed „s@[^|]*|([^|]*).*@1@”

                    A sed-paraméter módosult!!!

                    #2136694
                    Curtis
                    Felhasználó

                      Ez kezdésnek nem rossz…
                      A :digit: -eket nem lehet valahogy belejátszani? Én azokkal küzdöttem sokat.
                      Csak miután meghatároztam egy jó hosszú maszkot kb így :
                      |:digit::digit::digit::digit::digit::digit::digit::digit: :digit::digit:::digit::digit:::digit::digit:.:digit::digit::digit::digit:|
                      Nem tudtam lekapni az uccso karaktert… mindenképp digitekkel akarta teliirni a kimenetet, vagy nem találta meg a maskot, vagy errorokat dobált…
                      Az a gáz hogy ez az egyetlen oszlop ami ilyen formátumban van – az összes többi oszlop változik hosszra, és tartalomra – és sajna ez a második oszlop… az elsővel 1xűbb dolgom lenne…. 🙁

                      #2136695
                      Curtis
                      Felhasználó

                        Ez kezdésnek nem rossz…
                        A :digit: -eket nem lehet valahogy belejátszani? Én azokkal küzdöttem sokat.
                        Csak miután meghatároztam egy jó hosszú maszkot kb így :
                        |:digit::digit::digit::digit::digit::digit::digit::digit: :digit::digit:::digit::digit:::digit::digit:.:digit::digit::digit::digit:|
                        Nem tudtam lekapni az uccso karaktert… mindenképp digitekkel akarta teliirni a kimenetet, vagy nem találta meg a maskot, vagy errorokat dobált…
                        Az a gáz hogy ez az egyetlen oszlop ami ilyen formátumban van – az összes többi oszlop változik hosszra, és tartalomra – és sajna ez a második oszlop… az elsővel 1xűbb dolgom lenne…. 🙁

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