Kezdőlap › Fórumok › Programozás › Cutting with SED????
- This topic has 34 hozzászólás, 4 résztvevő, and was last updated 17 years, 8 months telt el by
Curtis.
-
SzerzőBejegyzés
-
2007-10-18-13:18 #2136686
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
2007-10-18-13:18 #2136687Emberek – é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
2007-10-18-13:21 #2136688Akkor 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.
2007-10-18-13:21 #2136689Akkor 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.
2007-10-18-13:32 #2136690Ez 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… 🙂2007-10-18-13:32 #2136691Ez 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… 🙂2007-10-18-13:38 #2136692Akkor 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!!!
2007-10-18-13:38 #2136693Akkor 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!!!
2007-10-18-13:45 #2136694Ez 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…. 🙁2007-10-18-13:45 #2136695Ez 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…. 🙁 -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz