Hi Cristi,

Faci o confuzie. Cel care a lansat thread-ul sunt eu, Alex. Cel care a 
raspuns cu print awk este Radu.

Cel care a raspuns ca varianta data de tine nu functioneaza .....sunt eu, 
Alex si nu Radu, asa cum probabil ai crezut.... :-)

De ce nu functioneaza? Pentru ca printeaza un "a".

Confuzia in raspunsul tau a pornit probabil din faptul ca eu am scris
x="aaaaa        bbbbb"
in loc sa scriu
x="string1      string2"
unde string1 si string2 nu au nimic de-aface cu "aaaaa" sau "bbbbb".
Sau poate "aaaaa" si "bbbbb" sa fie cazuri particulare, dar asta e cu totul 
altceva.

De aici raspunsul meu vizavi de solutia ta. Este si greseala mea pentru ca nu 
am fost mai clar in formularea problemei. De fapt, problema mea era mult mai 
complexa (doream sa fac, o optimizare a unui script bash) iar ce a fost dat 
pe lista era strict ceea ce ramasese nerezolvat. Si pentru ca ai deschis 
discutia despre optimizare (ma bucur ca sunt admini care au gindire de 
programatori si se gindesc si la acest aspect cind scriu cod), si datorita 
faptului ca asta a fost si scopul NEDECLARAT pentru care am deschis acest 
thread, uite un exemplu de cod scris aiurea.

y=$(cat $TMPFILE|grep ceva | cut -f 1);
z=$(cat $TMPFILE|grep ceva | cut -f 2);

si in final se obtine y="string1" si z="string2"

Dupa cum se poate vedea din ce este scris mai sus, procedura este greoaie, si 
destul de heavy pentru proc (se fac 2 cat-uri, 2 grep-uri si 2 cut-uri pe un 
TMPFILE FOARTE MARE, si chestia asta este intr-un ciclu, care se repeta 
pentru fiecare linie din fisierul $TMPFILE - de zeci de mii de ori). Asa ca, 
am dorit sa elimin chestiile putrede. Primul lucru care l-am facut a fost sa 
fac un singur cat, de ex: x=$(cat $TMPFILE| sed -n $k\p) (deci sa scot linia 
care ma intereseaza, facind numai 2 operatii - UN SINGUR cat si sed) iar apoi 
sa procesez CIT MAI SIMPLU pe $x astfel incit sa-mi rezulte in 2 variabile, 
string1 si string2. 

Dupa cum ai spus si tu, varianta cu cut pare sa fie cea mai adecvata in acest 
caz....lucru care l-am incercat si eu....cut -f1 si cut -f2 dar nu-mi iesea 
sintaxa....de aceea am intrebat pe lista ce si cum... Comparativ cu ce exista 
inainte, mergea aplicata si varianta cu awk print, etc....sugerata de Radu.

Dar pentru ca tot a venit vorba de cut, si pentru ca nu-mi dau seama ce-mi 
scapa in sintaxa, spune-mi care ar fi varianta cu cut, astfel incit la final 
sa pot avea in 2 variabile distincte, string1 si respectiv string2 cu un 
minim de operatii.

Regards,
Alex

On Saturday 29 November 2003 15:39, you wrote:
> On Sat, 2003-11-29 at 15:23, RLUG wrote:
> > Hello Cristi,
> >
> > Asta este parerea ta si eu nu folosesc aproape nicodata cut si fac
> > chestii extraordinare cu awk.
>
> Si eu fac chestii extraordinare cu awk, insa, in situatia de fata, n-are
> sens sa-l folosesc.
>
> > Din ce scripturi am citit (facute de multi) nu am vazut niciodata
> > pentru printarea unui coloane altceva decat awk.
>
> Iar asta face solutia ta mai buna decat a mea. Corect.
>
> > Oricum trebuie sa intelegi ca pentru o problema in unix exista 100
> > solutii asa ca ceea ce faci tu nu este mai bun decat ceea ce fac eu.
>
> Dar, normal, ce faci tu e mai bun decat ce fac eu.
>
> > Daca la momentul respectiv scriptul meu a mers si al tau nu a mers
> > este altceva.
>
> Arata-mi, te rog, la care moment nu a mers scriptul meu.
>
> P.S. Nu ma deranjeaza sa ma Cc: la mail-uri, dar da reply si pe lista.



--- 
Detalii despre listele noastre de mail: http://www.lug.ro/


Raspunde prin e-mail lui