miličić.marko @ 22.07.2005. 09:40
OPIS:

Imam fajl koji sadrzi linije u sledecem formatu:

Prva varijanta jedne linije:

rec1 rec2 rec3 rec4


Druga varijanta jedne linije fajla

rec1 rec2 rec3


NAPOMENA:
VAzno je primetiti da je broj "razmaka" (blanko znaka) promenljiv.
Dakle, reci mogu biti odvojene jednim ili vise blanko karakterom.
Takodje, neke reci mogu biti odvojene [tab] karakterom.

PROBLEM:
Da li postoji nacin da koriscenjem linux(unix) komandi "ocistim"
ove fajlove, tako da sve reci budu razdvojene samo jednim razmakom.

Dakle, da se visestruki razmaci zamene jednim i da se [tab] karakteri
zamene jednim.


Unapred zahvalan na savetu!
zi:: @ 22.07.2005. 09:48
perl -pi.bak -e 's/ +|\t+/ /g' file.txt


bi trebao da radi posao. Mozes da koristis i wildcardove, naravno. svi fileovi dobijaju ekstenziju .bak, pa ne mozes da zeznes :)
miličić.marko @ 22.07.2005. 11:00
Radi, ali ne bas onako kako je meni potrebno!

Naime, meni je takodje potrebno da se linija trimuje tj da nema raymaka na pocetku ili na kraju linije.

Takodje, probao sam tvoj skript na primeru u kome iymedju dve reci imam prvo dva raymaka, a onda tab, pa onda ponovo nekoliko raymaka. U ovom slucaju ne dobijam dobar reyultat.

Dakle, treba mi trimovanje i ispravljanje ovog baga
zi:: @ 22.07.2005. 11:09
perl -pi.bak -e 's/\t/ /g; s/ +/ /g; s/^ +//; s/ +$//;' fileovi.*


jel' sada dobro? :) naravno, fileovi.* su fileovi koje treba da zamenis.
miličić.marko @ 28.07.2005. 21:51
Sada je odlicno!!

Izvini na delay-u