On Sat, 2003-11-29 at 21:18, Linux User wrote:
> Hi Cristi,
>
> Mai... stai si nu te aprinde asa... ca eu nu am nimic impotriva variantei
> tale.... si nici cu tine... si in nici un caz nu te-am jignit....Doar am
> intrebat cum scot $y si $z din $x care este de forma pe are am precizat-o,
> asa cum ai cerut..... La mine insa tocmai $y si $z sunt variabilele care
> trebuiesc determinate....Nu vad de ce te-ai suparat, daca eu nu am inteles
> varianta ta....
Eu te-am jignit?
> IPOTEZA: se da variabila x obtinuta dintr-un TMPFILE, asa cum este descris
> mai sus.... Se cere sa se afle $y si $z din $x
Mai sus? Unde?
> NOTA: nu te lega in nici un fel de continutul lui x (stii doar ca el contine
> un tab si atit)
echo -e 'a\tb' e echivalent cu cat file, daca file contine:
a b
> Solutia1 (bazata pe awk):
>
> x=$(sed -n $k\p $TMPFILE);
> aici sa zicem ca rezulta: y="ahjdhjafhjksdafhj kj;yktg;klyt;jkly"
spatii, nu tab---^^
> y=`echo $x | awk '{print $1}'`
> z=`echo $x | awk '{print $1}'`
> echo $y va printa hjdhjafhjksdafhj
> echo $z va printa kj;yktg;klyt;jkly
>
> Si pentru ca m-am "enervat" am gasit si solutia cu cut cit si unde era
> greseala in scriptul meu (nu-i pasa daca e tab sau spacebar lui cut)
Ba, tocmai. Lui cut ii pasa, lui awk nu-i pasa. (De fapt, depinde de
$IFS)
> Solutia 2 (bazata pe cut):
> x=$(sed -n $k\p $TMPFILE);
> y=`echo $x| cut -f 1 -d ' '`
> z=`echo $x| cut -f 2 -d ' '`
>
> echo $y;
> echo $z;
[EMAIL PROTECTED]:~$ echo 'a b' | cut -f1 -d' '
a
[EMAIL PROTECTED]:~$ echo 'a b' | cut -f1
a b
[EMAIL PROTECTED]:~$ echo -e 'a\tb' | cut -f1
a
[EMAIL PROTECTED]:~$ echo -e 'a\tb' | cut -f1 -d' '
a b
Problema e ca tu nu pui ghilimele la echo. man bash, uite-te dupa word
splitting. Incearca echo "$x" si o sa vezi ca va merge si cu cut, fara
-d' '. (In fine, iarasi depinde de $IFS)
> Thread closed....
Not just yet.
--
Birzan George Violence is the last refuge of
Cristian the incompetent -- Salvor Hardin
---
Detalii despre listele noastre de mail: http://www.lug.ro/