On Monday 17 January 2005 17:56, Straton Marian wrote: > On Mon, 17 Jan 2005 17:49:54 +0200 > > Mihai Maties <[EMAIL PROTECTED]> wrote: > > On Monday 17 January 2005 17:26, Straton Marian wrote: > > > IFS (man/info bash) specifica separatorii de cuvinte..... asa ca ai > > > putea face ls -1 |sort -r (-1 adica un nume pe linie) iar forul, > > > cuminte va lua cate un nume de fisier indiferent cate spatii are in el > > > > Si daca ai \t sau \n in nume ? > > > > > > Mihai > > Iti merge ff. bine. > 1. daca dai touch a\na iti va crea un fisier ana. Solutia este a\\na ptr a > aparea un nume de fisier a\na 2.Creeaza fisierul si incearca scriptul de > mai jos.
Ma refeream la "\n" drept "new line" nu caracterele separate "\" si "n" deci aberezi. Tu vrei sa convingi bash-ul sa foloseasca "\n" drept separator in lista, dar ceea ce se pare ca nu stii e ca un fisier poate contine "\n" in nume. Poti testa asta scriind echo "test1" > aXb echo "test2" > a^VCRb unde ^V inseamna "Ctrl - V" iar CR inseamna "Enter" Daca vei avea apoi curiozitatea sa dai un "ls -1" vei constata ca ai 2 fisiere: "aXb" si "a?b". Acum incearca in continuare sa prelucrezi lista de fisiere folosind scriptul tau. HINT: Nu vei reusi, pentru ca orice trimitere catre a?b va face match pe ambele fisiere in bash, iar daca pui numele(sau variabila) in ghilimele bineinteles ca nu vei gasi nici un fisier "a?b". > IFS=$'\t\n' > LISTA=`ls -1` > for variabila in $LISTA > do > echo $variabila > > done; > IFS=$' \t\n' > > > Ai sa observi ca nu ai nici cea mai mica problema. no shit. > > Marian > > PS1. Daca am raspuns adineauri este ptr ca am FOLOSIT trucul cu IFS si nu > ca sa ma dau mare sau ca am auzit ca exista asa ceva. PS2. Faptul ca ti-a mers intr-un caz particular nu inseamna ca solutia e buna. > inainte de a da > cu parul, macar testeaza sa vezi daca ai dreptate. Inainte de a da cu parul macar gandeste. Sau citeste. Sau citeste _si_ gandeste. Mihai -- This message was scanned for spam and viruses by BitDefender. For more information please visit http://www.bitdefender.com/ --- Detalii despre listele noastre de mail: http://www.lug.ro/
