sed

Všetko ohľadom Linuxu...
w@ter
Light Expert
Light Expert
Príspevky: 39
Registrovaný: 03 máj 2005, 2:05

sed

Príspevok od používateľa w@ter »

len taky pokus ci sa tu nenaxadza niekto kto to ma v malicku bo uz mam za sebou asik 3 hodky googlovania a citania navodov ale nejak mi to uz dnes neleze do hlavy.

mam textovy subor ktory sa meni. sem tam sa v niektorom riadku na konci objavi slovicko ALARM. no a ja potrebujem zmenit tento riadok nieco slahnut na zaciatok a nieco na koniec. ale cez ten sed som momentalne schopny detekovat slovicko ALARM a nahradit ho niecim inym. teoreticky to moj problem riesi, ale nie je to dokonale riesenie a to ma zenie k zurivosti.

co mam zatial je

Kód: Vybrať všetko

cat <vstupny_subor> | sed 's/ALARM/<nahradna_hlaska>/g' > <vystupny_subor>
q-parser
Professional
Professional
Používateľov profilový obrázok
Príspevky: 1410
Registrovaný: 04 dec 2004, 16:48
Bydlisko: /dev/null
Kontaktovať používateľa:

Príspevok od používateľa q-parser »

No tak to je vyzva :) Nasiel som v sed-e prepinace na pridanie textu na zaciatok a koniec riadku, lenze problem je v tom, ze tam dava new-line. Neviem ako sa to da obijst...

Kód: Vybrať všetko

text na zaciatok:
cat <subor> | grep -i alarm | sed 'i\<text_na_zaciatok>' > vystup
text na koniec:
cat <subor> | grep -i alarm | sed 'a\<text_na_koniec>' > vystup2
Neviem to skomolit dokopy, preto dva subory. Keby sa tam nepridavali nove riadky, tak by to bolo easy. Este treba poskusat no.
w@ter
Light Expert
Light Expert
Príspevky: 39
Registrovaný: 03 máj 2005, 2:05

thx

Príspevok od používateľa w@ter »

dik este som to nedocital do konca ale dufam ze mi to pomoze idem sa s tym trosku poigrat ;) este raz D

nahodov jak donutit seda aby pri zmene vlozil aj / netusis ??
w@ter
Light Expert
Light Expert
Príspevky: 39
Registrovaný: 03 máj 2005, 2:05

no mam to !!!

Príspevok od používateľa w@ter »

JOOOO takze asi po 4 hodkach trapenia sa to mam. ten tvoj priklad mi zmazal cely zvysok suboru takze som to nemohol pouzit, ale na postrcenie mi to stacilo DAKUJEEEEM

vyriesil som to urcite elegantne :D

Kód: Vybrať všetko

cat <input_subor> | sed '/ALARM/ i\<nahradna_hlaska>' > <output_subor>

cat <input_subor> | sed '/ALARM/ a\<nahradna_hlaska>' > <output_subor>
to ze to nie je v jednom prikaze mi je momentalne SUM A FUK :D
q-parser
Professional
Professional
Používateľov profilový obrázok
Príspevky: 1410
Registrovaný: 04 dec 2004, 16:48
Bydlisko: /dev/null
Kontaktovať používateľa:

Príspevok od používateľa q-parser »

Hold, vyzera to zaujimavo, asi by ma to tiez tak skoro nenapadlo takto zmotat :) Ale tusim ti tam chyba 's' v tych prikazoch pre substituciu ;)
Btw: Nedava ti tam tie nove riadky?

Edit: Ponaucenie do buducna, rob si zalohy, ked daco skusas!
Napísať odpoveď