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

Script za zamenu teksta u txt fajlu

[es] :: Skript jezici :: Script za zamenu teksta u txt fajlu

[ Pregleda: 5257 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dnenad
Nenad Damjanovic
IT menadzer,Duga
Beograd

Član broj: 161090
Poruke: 2
*.221.eunet.yu.



Profil

icon Script za zamenu teksta u txt fajlu27.10.2007. u 18:47 - pre 199 meseci
Molim Vas da li neko moze da mi pomogne kako treba da izgleda script koji ce u jednom fiksnom txt fajlu da uradi replace (tacke sa zarezom) na primer u brojevima u text fajlu.
Naravno na svim mestima u fajlu.
Script mi je potreban da bih ga postavio u batch fajl.

DNENAD
 
Odgovor na temu

caiser

Član broj: 4677
Poruke: 2462
*.karneval.cz.

ICQ: 162962030


Profil

icon Re: Script za zamenu teksta u txt fajlu27.10.2007. u 19:33 - pre 199 meseci
Npr.

Code:
$ cat file
1.2.3

$ perl -i -p -e 's/\./,/g' file

$ cat file
1,2,3

 
Odgovor na temu

dnenad
Nenad Damjanovic
IT menadzer,Duga
Beograd

Član broj: 161090
Poruke: 2
*.200.eunet.yu.



Profil

icon Re: Script za zamenu teksta u txt fajlu27.10.2007. u 19:50 - pre 199 meseci
Caiser hvala na odgovoru,

Molim Vas za jos malo pomoci.

Kako da pokrenem ovaj kod iz XP-ovog command prompta ili kako da ga snimim u cmd file.

Probao sam i jedno i drugo pa nesto ne ide.

Pretpostavljam da mi treba Cscript code ili moze i perl ali ja ne znam kako da ga pokrenem
DNENAD
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.yu.



+257 Profil

icon Re: Script za zamenu teksta u txt fajlu27.10.2007. u 21:31 - pre 199 meseci
Dnenad,
nema u linuxu uopste XP-ovog command prompta. Na pogresnom forumu pitas...
A sto se tice linux-a, ne mora perl, mogao je i npr. sed, awk...

Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

random
Vladimir Vrzić
Beograd

Član broj: 85
Poruke: 3866
*.adsl-3.sezampro.yu.

Sajt: www.last.fm/user/vrza


+4 Profil

icon Re: Script za zamenu teksta u txt fajlu30.10.2007. u 01:07 - pre 199 meseci
Forum za pitanje je dobar, samo što je nelogično postavljen kao podforum Linux foruma. Kao da se na BSD, Mac, Windows i drugim sistemima ne skriptuje.

Mislim da search/replace može da se postigne FOR komandom ugrađenom u cmd.exe. Ali pošto ne znam kako (pozaboravljao sam WinDOS shell), mogao bi neki Windows guru da se javi pa da demonstrira.

Ja bih prosto skinuo sa neta binarni sed.exe, spucao ga u %WINDIR% i zloupotrebio (sed '{ s/staro/novo/g }' fajl.txt > izlaz.txt) za ovu namenu :o).
int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
 
Odgovor na temu

uranium
Beograd

Član broj: 60097
Poruke: 543
*.eunet.yu.

Jabber: uranium@elitesecurity.org
ICQ: 324386953


+5 Profil

icon Re: Script za zamenu teksta u txt fajlu30.10.2007. u 01:46 - pre 199 meseci
Evo i mog predloga (trebalo bi da radi i na XP-u i na Linuxu):

Code:

tr , . < x1.txt > x2.txt


nakon toga ostaje da se odradi još samo
Code:

mv x2.txt x1.txt


pretpostavka je da su podaci koje hoces da promenis smesteni u x1.txt
Attempt all the problems. Those you can do, don't do. Do the ones you cannot.
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.yu.



+257 Profil

icon Re: Script za zamenu teksta u txt fajlu30.10.2007. u 19:09 - pre 199 meseci
Hm...

C:\>tr
'tr' is not recognized as an internal or external command,
operable program or batch file.



Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

uranium
Beograd

Član broj: 60097
Poruke: 543
*.eunet.yu.

Jabber: uranium@elitesecurity.org
ICQ: 324386953


+5 Profil

icon Re: Script za zamenu teksta u txt fajlu30.10.2007. u 23:50 - pre 199 meseci
@Jbyn4e:

LOL, potpuno si u pravu, ispostavilo se da sam zaboravio da mi je instaliran msys... (a baš sam bio prijatno iznenađen kako mi je to prošlo ) ... evo šta mi je bilo u pathu


C:\Program Files\msys\1.0\bin\


U attachment-u je zipovan tr.exe [ mada nisam testirao da li može da radi izolovano ]...
Dakle, ostaje otvoreno pitanje kako to izvesti bez dodataka
Attempt all the problems. Those you can do, don't do. Do the ones you cannot.
Prikačeni fajlovi
 
Odgovor na temu

uranium
Beograd

Član broj: 60097
Poruke: 543
*.eunet.yu.

Jabber: uranium@elitesecurity.org
ICQ: 324386953


+5 Profil

icon Re: Script za zamenu teksta u txt fajlu31.10.2007. u 03:19 - pre 199 meseci
Evo u attachmentu je jedan "tool" koji sam sklepao [ u stvari više proof of concept ]...
ako uopšte treba da naglašavam, skripta radi isključivo pod Windowsom [double click it...]
Naravno, svako ko je koristi to radi na sopstvenu odgovornost

u regEx modu setovani su /g i /m (/s nije podržan nažalost )



Attempt all the problems. Those you can do, don't do. Do the ones you cannot.
Prikačeni fajlovi
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.yunix.co.yu.



+257 Profil

icon Re: Script za zamenu teksta u txt fajlu31.10.2007. u 15:34 - pre 199 meseci
Hm, mozda mu pomogne sed za windoze...
http://www.student.northpark.edu/pemente/sed/

Ali opet, ostaje pitanje - kako to uraditi bez dodataka u dos batch fajlu - pretpostavljam da moze, ali ko zna...
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

uranium
Beograd

Član broj: 60097
Poruke: 543
*.eunet.yu.

Jabber: uranium@elitesecurity.org
ICQ: 324386953


+5 Profil

icon Re: Script za zamenu teksta u txt fajlu01.11.2007. u 03:26 - pre 199 meseci
Kao što random već reče, zaista može uz pomoć for petlje:



@echo off
for /f "tokens=1* delims=." %%a in (%1) do @echo off && if 42%%b NEQ 42 ( call xxx "%%a,%%b"
) else (@echo on && @echo %%a)


Prethodni kod treba sačuvati kao xxx.bat [ bitno je da "else" i (barem) desna zagrada koja mu prethodi budu u istoj liniji ].
Način upotrebe je onda sledeći:


xxx x1.txt > x2.txt
del x1.txt
ren x2.txt x1.txt


a to bi se opet moglo umotati u batch...

Nažalost, nisam uspeo da se oslobodim rekurzije tako da bi procesiranje fajla sa dovoljno velikim brojem zareza verovatno pojelo sav stek.
Doduše, imam još jednu varijaciju koja je, čini mi se, za nijansu otpornija... ali u konačnom ni to nije dovoljno dobro...

Postoji i još jedan problem sa ovim pristupom - for /f ignoriše sve prazne linije na koje naiđe - tako da rezultujući fajl neće imati ni jednu praznu liniju [ osim ako smo procesirali fajl čije su sve linije prazne ]

[Ovu poruku je menjao uranium dana 01.11.2007. u 04:47 GMT+1]
Attempt all the problems. Those you can do, don't do. Do the ones you cannot.
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Skript jezici :: Script za zamenu teksta u txt fajlu

[ Pregleda: 5257 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

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