On Sat, 2003-11-29 at 17:30, Linux User wrote:
> 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.... :-)

Um... Nu? :-)
Am dat reply-ul pentru Radu in reply-ul catre tine pentru ca... Radu nu
a postat pe lista.

> 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.

[EMAIL PROTECTED]:~$ a=$(echo -e 'string1\tstring2' | cut -f1)
[EMAIL PROTECTED]:~$ b=$(echo -e 'string1\tstring2' | cut -f2)
[EMAIL PROTECTED]:~$ echo $a - $b
string1 - string2

Deci, nu stiu ce faci tu gresit, dar la mine merge.

> 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. 
Daca se executa pentru fiecare linie din $TMPFILE, de ce trebuie sa faci
cat | grep, sau cat | sed si nu ai linia intr-o variabila? Context, give
me context!
By the way, nu se face cat file | grep stuff , ci grep stuff file, nu
cat file | sed script, ci sed script file. Idem pentru 99.9% din
utilitare.

-- 
Birzan George                   Violence is the last refuge of
  Cristian                      the incompetent -- Salvor Hardin

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


Raspunde prin e-mail lui