Em 6 de maio de 2010 13:50, Fabiano garcia Fonseca
<[email protected]> escreveu:
>
>
> Valeu!!!
>
> Já consegui fazer a seleção dos arquivos e jogar na variável, agora preciso 
> descobrir como fazer um laço para ir convertendo cada um dos arquivos 
> selecionados.

Agora é que entra o IFS. Sugiro procurar no google sobre ele. Procura
os tutoriais do Julio Neves, ele é o cara que mais saber shell no
Brasil. Mas em linhas gerais, o IFS é quem controla que caracteres
separam as palavras. Ele é composto por um espaço, um tab e um enter,
só não sei em que ordem. Você vai precisar do IFS porque alguns nomes
de arquivos tem espaços, e isso bagunçaria seu laço.

Capture os arquivos com o zenity usando um enter como separador. Aqui
eu não consegui usar o \n para isso, então fiz assim:
$ files=`zenity --file-selection --multiple --separator='
'`
$
Usei aspas slimples para isolar o enter.

Agora transformo o IFS em apenas enter:
$ IFS=
$

Depois disso, passo a variável que contém os nomes dos arquivos para um for:
$ for file in $files
> do
> echo $file
> done
$

Aqui eu apenas escrevi os nomes dos arquivos em linhas separadas, mas
no lugar do echo você pode passar qualquer comando.


-- 
Humberto Xis
http://xisberto.blogspot.com
http://ostelematicos.blogspot.com

"Sur la tuta tero estis unu lingvo kaj unu parlomaniero." - Gn 11,1

-- 
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

Lista de discussão Ubuntu Brasil
Histórico, descadastramento e outras opções:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

Responder a