On Tue, Oct 16, 2007 at 03:36:44PM +0300, Andrei Nestor wrote:
> > program exemplu
> >
> > #!/usr/bin/perl
> >
> > $a='aaaa,bbb,"ccccc,ccc",dddd,"eee,eeee"';
> >
> > $b = "$a,";
> > $c = 0;
> > $b =~ s!("?)(.*?)(\1),!$c++; print "P$c=$1$2$3\n", ""!ge;
>
> Multumesc. Eu nu stiu deloc perl - cum as pot sa obtin $a din
> argumentul din linia de comanda? merge cu $1?
> Exista si o solutie fara perl (awk, de ex.)? Nu stiu daca o sa am perl
> pe masina respectiva.
> Thanks.
>
in test.txt ai aaaa,bbb,"ccccc,ccc",dddd,"eee,eeee"
sed -e 's/\("[^,]\+\),/\1;/g' -e 's/,/\t/g' -e 's/;/,/g' test.txt
sau
--- start csv.sed --
s/\("[^,]\+\),/\1;/g
s/,/\t/g
s/;/,/g
--- end csv.sed ----
sed -f csv.sed test.txt
Obs.:
- am presupus ca ';' nu e folosit, il poti inlocui orice alt caracter
vrei sau chiar grup de caractere
PS: ceva imi spune ca asta e csv, vezi rfc4180, Daca e asa atunci
mai e o problema, :-), '"', ceva de genul: aaaa,"bbb""ccc",ddd
--
"We must be systematic, but we should keep our systems open."
-- Alfred North Whitehead, Modes of Thought --
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug