shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Erro usando o laço for


From: Julio C. Neves
Subject: Re: [shell-script] Re: Erro usando o laço for
Date: Tue, 28 Oct 2014 10:57:30 -0200

Fala Paulo,
acho que essa construção não deve funcionar pq o -f é um operador unário e se expandir para mais de um arquivo, deve voltar um código de erro. Eu faria assim:

> index.html
for x in $(echo *.{html,txt,pdf,doc,css} | sed -r 's/ \*\.(html|txt|pdf|doc|css)//g'); do
     echo "<a href="" $x </a> <br />" >> index.html
     echo "Arquivo $x listado."
done

PS: Não sei se essa é a melhor solução, pq não vi a solicitação de ajuda original.

Abcs,
Julio
@juliobash
Próximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 10 a 14/11
São Paulo 4Linux 24 a 28/11
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 28 de outubro de 2014 10:11, Paulo Bettega address@hidden [shell-script] <address@hidden> escreveu:
Uma solução pode ser testar se for arquivo.

for x in *.{html,txt,pdf,doc,css}; do
     [ -f "$x" ] && {
     echo "<a href="" $x </a> <br />" >> index.html

     echo "Arquivo $x listado."
     }
done

Mas já que tem o processamento extra do teste, pode ser
também a idéia do Mr.Bits "for x in $(ls *.{html,txt,pdf,doc,css})"

Bash e ksh listam o valor de x como *.html, *.txt, etc.
Parece que o fato dos arquivos não existirem não deixa a variável
nula, então o echo imprime o valor.

Abraços Paulo Bettega


On 28-10-2014 09:21, address@hidden [shell-script] wrote:
> Ola, Itamar
>
>
> Sua sugestão também nao funcionou, veja a saída do teste que fiz:
> <a href="" teste1 </a> <br />
> <a href="" teste2 </a> <br />
> <a href="" teste3 </a> <br />
> <a href="" teste4 </a> <br />
> <a href="" teste </a> <br />
> <a href="" *.txt </a> <br />
> <a href="" *.pdf </a> <br />
> <a href="" *.doc </a> <br />
> <a href="" *.css </a> <br />
>
> Como pode ver , as linhas onde aparece os asteriscos são arquivos que não existe na pasta, mesmo
> assim o script pegou estas extensões do laço for e as listou.
>
>
> ----------------------------------------------------------------------------------------------------
> Enviado por: address@hidden
> ----------------------------------------------------------------------------------------------------


------------------------------------

------------------------------------

---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil


------------------------------------

Links do Yahoo Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    address@hidden

<*> O uso que você faz do Yahoo Grupos está sujeito aos:
    https://info.yahoo.com/legal/br/yahoo/utos/terms/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]