Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

SED problemchitj

[es] :: Skript jezici :: SED problemchitj

[ Pregleda: 2101 | Odgovora: 7 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

leka
Dejan Lekić
senior software engineer, 3Developers Ltd.
London, UK

Član broj: 234
Poruke: 2530
*.racasse.se

Sajt: dejan.lekic.org


Profil

icon SED problemchitj03.04.2002. u 10:40

SED-eri pomagajte,
treba mi sed komanda koja od
Code:
'var = fun("trt", "mrt");'
"pravi"
Code:
'var = fun("%C9trt%O", "%C9mrt%O");'

Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
03.04.2002. u 10:40 

leka
Dejan Lekić
senior software engineer, 3Developers Ltd.
London, UK

Član broj: 234
Poruke: 2530
*.racasse.se

Sajt: dejan.lekic.org


Profil

icon Re: SED problemchitj03.04.2002. u 10:59
Zahvaljujuci Dragishi Duricu, vlasniku LINUKS.org-a i RSTEL-a, problem je reshen! :)

Evo kako je tekao razgovor:
Code:

LekaMan(10:47 AM) : 
[dejan@gnu dejan]$ echo 'var = fun("trt", "mrt");' | sed -e 's/"\(.*\)"/"%C9\1%O"/'
var = fun("%C9trt", "mrt%O");

LekaMan(10:47 AM) : 
ovo ne radi posao meni
LekaMan(10:48 AM) : 
fora je... juce sam se za***avo dva sata... on uvek navodnike zameni sa onim sto mu kazem da menja...
Jomu(10:49 AM) : 
var = fun("%C9trt", "mrt%O");

da ovo, longest match fol
?ek

Jomu(10:50 AM) : 
echo 'var = fun("trt", "mrt");' | sed -e 's/"\([^"]*\)"/"%C9\1%O"/g'
var = fun("%C9trt%O", "%C9mrt%O");

evo
sad radi :)

Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
03.04.2002. u 10:59 

leka
Dejan Lekić
senior software engineer, 3Developers Ltd.
London, UK

Član broj: 234
Poruke: 2530
*.racasse.se

Sajt: dejan.lekic.org


Profil

icon Re: SED problemchitj03.04.2002. u 11:19
E nakon svega ovoga Dragisha ukazuje na jedan dodatni problem:
Code:

frodo:dragisha/pts/14: ~# echo 'var leka = "m3 \"zealot\"";' | sed -e 's/"\([^"]*\)"/"%C9\1%O"/g'
var leka = "%C9m3 \%O"zealot\"%C9%O";

vidi?? :)


(Kanal #OS na BalcanNET-u)
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
03.04.2002. u 11:19 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13061
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: SED problemchitj03.04.2002. u 17:14
Nešto ovako možda:

Code:

gojko@es:~$ echo 'var = fun("trt", "mrt");' | sed -e 's/[^]"([^"]*)(\"[^"]*\")*([^"]*)"/"%C9123%O"/g'
var = fun"%C9trt%O","%C9mrt%O");
gojko@es:~$ echo 'var leka = "m3 "zealot" test";' | sed -e 's/[^]"([^"]*)(\"[^"]*\")*([^"]*)"/"%C9123%O"/g'
var leka ="%C9m3 "zealot" test%O";


Podržava maximalno jedan par escapeovanih quoteova unutar pravih navodnika.
Može se preraditi i da radi sa više njih, ako ti baš treba, reci..
03.04.2002. u 17:14 

leka
Dejan Lekić
senior software engineer, 3Developers Ltd.
London, UK

Član broj: 234
Poruke: 2530
*.telia.com

Sajt: dejan.lekic.org


Profil

icon Re: SED problemchitj03.04.2002. u 18:38
treba mi jedinstveno resenje koje radi i u jednom i u drugom slucaju!
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
03.04.2002. u 18:38 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13061
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: SED problemchitj05.04.2002. u 11:58
Mogao si prvo da pogledaš moju poruku, uvideo bi da sam isti regexp /[^]"([^"]*)(\"[^"]*\")*([^"]*)"/"%C9123%O"/ koristio u oba slučaja i koliko sam ja shvatio tvoje pitanje, ovako se dobijaju traženi rezultati:

var = fun("trt", "mrt"); postaje var = fun"%C9trt%O","%C9mrt%O");
var leka = "m3 "zealot" test"; postaje var leka ="%C9m3 "zealot" test%O";.
05.04.2002. u 11:58 

leka
Dejan Lekić
senior software engineer, 3Developers Ltd.
London, UK

Član broj: 234
Poruke: 2530
*.telia.com

Sajt: dejan.lekic.org


Profil

icon Re: SED problemchitj06.04.2002. u 03:55
Yeah, Gojko faco u pravu si - hvala na pomoci! :)
Videces na IRC-u za sta mi treba ovo! :)
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
06.04.2002. u 03:55 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13061
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: SED problemchitj06.04.2002. u 15:28
Sad sam tek primetio da ovaj poslednji guta prvu zagradu "(" posle 'fun'.
Evo ispravke:

Code:

gojko@es:~$ echo 'var = fun("trt", "mrt"); var leka = "m3 \"zealot\" test"; ' | sed -e 's/\([^\]"\)\([^"]*\)\(\\"[^"]*\\"\)*\([^"]*\)"/\1%C9\2\3\4%O"/g' 
var = fun("%C9trt%O", "%C9mrt%O"); var leka = "%C9m3 \"zealot\" test%O"; 

06.04.2002. u 15:28 

[es] :: Skript jezici :: SED problemchitj

[ Pregleda: 2101 | Odgovora: 7 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.