[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Dúvida besta porem persistente
From: |
Breno Moiana |
Subject: |
Re: [shell-script] Dúvida besta porem persistente |
Date: |
Tue, 30 Sep 2008 09:57:33 -0300 |
Achei as soluções apresentadas aqui muito interessantes, e fui usar.
Cheguei a uma dúvida bem simples até: com cat esse tipo de
concatenação direta funciona. Mas em termos de mecânica de script, não
substitui um loop. Temos um atalho para loop que nao seja o uso do for
com toda a sua sintaxe? (Administrador bom é administrador preguiçoso,
não é isso, Julio? ;)
Já explico:
arquivos:
-rwxr-xr-x 1 evrbatch sapbatch 17 Sep 30 07:45 mycat.sh
-rw-r--r-- 1 evrbatch sapbatch 53 Sep 30 07:49 um
-rw-r--r-- 1 evrbatch sapbatch 54 Sep 30 07:49 dois
-rw-r--r-- 1 evrbatch sapbatch 48 Sep 30 07:49 tres
-rw-r--r-- 1 evrbatch sapbatch 13 Sep 30 07:44 lista
Conteudo do mycat.sh:
#/bin/ksh
cat $1
Agora... vejam só
$ cat lista
um
dois
tres
$ cat $(<lista)
um
umaumaumaumumu mum aumaum uamua maumamuau maumuam
dois
doisodisodisodi sodisoidosidos dosidosiodisodi s
tres
trstsrter strestersteserstrestrestrtesrets
Até aí, tudo bem. Porém, se uso meu script, ele só pega o primeiro:
$ ./mycat.sh $(<lista)
um
umaumaumaumumu mum aumaum uamua maumamuau maumuam
Eu acredito que isso seja porque o cat me permite passar vários
arquivos como parâmetro, enquanto meu script só usa o $1.
Trocando no script o $1 por $*:
$ ./mycat.sh $(<lista)
um
umaumaumaumumu mum aumaum uamua maumamuau maumuam
dois
doisodisodisodi sodisoidosidos dosidosiodisodi s
tres
trstsrter strestersteserstrestrestrtesrets
Mas e se eu nao quiser/puder mudar o script, ou se for um comando que
só suporta um parametro por vez? Temos outras opções ao invés do loop?
$ for parm in $(cat lista); do ./mycat.sh $parm;done
um
umaumaumaumumu mum aumaum uamua maumamuau maumuam
dois
doisodisodisodi sodisoidosidos dosidosiodisodi s
tres
trstsrter strestersteserstrestrestrtesrets
Abraço!
Breno.
--
2008/9/26 Julio C. Neves <address@hidden>:
> Fala Fabiano,
> Cara, adorei a sua resposta. Muito inteligente!!!!
> --
> Abraços,
> Julio
> *Em setembro estarei dando um treinamento
> Shell em São Paulo (em 2 fins de semana).
> Mais informações: www.4linux.com.br
> Tel: (11) 2125-4747
> *
> 2008/9/26 Fabiano Caixeta Duarte <address@hidden>
>
>> 2008/9/26 André Saunite <address@hidden <saunite%40gmail.com>>
>
>>
>>
>> > Olá,
>> >
>> > Já tentou assim?
>> >
>> > cat $(cat lista.txt)
>> >
>> > Abs,
>> > André Saunite
>> >
>> > 2008/9/26 allan_hkrs <address@hidden<allan_hkrs%40yahoo.com.br>
>> >:
>> > > Estou com uma duvida besta, porem nao arranjo solução para a mesma,
>> > > ja pesquisei e nao achei nada relacionado, alguem sabe como posso
>> > > passar uma valor de um txt ou de um pipe direto para uma linha de
>> > > comando? Vou dar um exemplo do que estou querendo fazer. Supondo que
>> > > eu tenha um arquivo lista.txt com o conteudo:
>> > >
>> > > juliosoares.txt
>> > > robertosoares.txt
>> > > carlosdesouza.txt
>> > > alvaro.txt
>> > > augustosoares.txt
>> > >
>> > > digamos que eu queira fazer um cat nos arquivos nessa ordem.. Como eu
>> > > posso "passar" o valor para a linha de comando sem digitar linha por
>> > > linha? Por exemplo:
>> > >
>> > > cat juliosoares.txt robertosoares.txt augustosoares.txt
>> > >
>> > > Ao inves de digitar 1 por 1, faria um grep e passaria o valor da
>> > > saida padrao para a linha de comando, sem opções de cada programa, de
>> > > forma generalizada, entenderam? Quem puder ajudar...
>> > >
>> > > Allan
>> >
>>
>> A mesma solução, mas com uma pequena variação ;)
>>
>> cat $(<lista.txt)
>>
>> --
>> Fabiano Caixeta Duarte
>> Especialista em Redes de Computadores
>> Linux User #195299
>> Ribeirão Preto - SP
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>
>>
>
> --
> Abraços,
> Julio
> Em setembro estarei dando um treinamento
> Shell em São Paulo (em 2 fins de semana).
> Mais informações: www.4linux.com.br
> Tel: (11) 2125-4747
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
- Re: [shell-script] Script com Funcao, (continued)
- Re: [shell-script] Script com Funcao, Julio C. Neves, 2008/09/26
- Duvida If....., Redes - Hábil Tecnologia, 2008/09/27
- Re: [shell-script] Duvida If....., César Vianna, 2008/09/27
- Re: [shell-script] Duvida If....., André Saunite, 2008/09/27
- Re: [shell-script] Duvida If....., Paulo Silvestre Schmitt, 2008/09/27
- Re: [shell-script] Dúvida besta porem persistente, Julio C. Neves, 2008/09/26
- Re: [shell-script] Dúvida besta porem persistente,
Breno Moiana <=
- Re: [shell-script] Dúvida besta porem persistente, jimmy, 2008/09/30
- Re: [shell-script] Dúvida besta porem persistente, Breno Moiana, 2008/09/30
- Re: [shell-script] Dúvida besta porem persistente, Flavio Junior, 2008/09/30
- Re: [shell-script] Dúvida besta porem persistente, Breno Moiana, 2008/09/30
- Re: [shell-script] Dúvida besta porem persistente, jimmy, 2008/09/30