Cara, quanta informação !
Valeu pelas dicas !!!
Tiago Barcellos Peczenyj wrote:
> Bruno, vc testou a saída desse comando ?
>
> Não vai funcionar por 2 motivos
>
> 1) o awk precisa de alguma fonte de informação, como não há pipe para ele
> nem arquivo, ele fica parado esperando entrar dados pela entrada padrão
>
> 2) o let, nesse contexto, não faz sentido. (ficaria tudo 1)
>
> o proprio awk da conta do recado
>
> awk '{print $1"."$NF}' arquivo
>
> se vc quisesse fazer um laço, seria interessante vc usar while
>
> I) cat arquivo | while read nome ; do echo $nome | awk ... ; done
>
> II) while read nome ; do echo $nome | awk ... done < arquivo
>
> para usar o for, vc teria que alterar a variavel IFS
>
> ( IFS=$'\n' ; for i in `cat arquivo`; do echo $i ; done; )
>
> coloquei os () para não alterar o valor da IFS corrente, assim roda tudo em
> um subshell.
>
> para usar o let, nesse contexto, ou alguma variavel numerica que vai sendo
> incrementada, seria mais logico vc fazer uso de arrays
>
> $ ( IFS=$'\n' NOMES=($(cat arquivo)) ; echo "um array com [EMAIL PROTECTED]
> elementos" )
> um array com 3 elementos
>
> ou então fazer uso do head/tail ou awk ou sed para imprimir uma determinada
> linha do arquivo.
>
> em todos os casos, o awk le o arquivo de entrada e trata dos dados
> facilmente (sem falar em performance), sem necessidade de maiores
> malabarismos, entretanto se vc precisa fazer mais alguma coisa com os dados,
> um laço no shell pode ser uma solução simples!
>
> (( tudo isso e muito mais vcs poderão ver no curso de shell script/ awk
> /etc for crazy people no site do CentOSBr)
> ( e logo teremos ferramentas web usando estes recursos made in Brazil!))
> ( humm (isso (lembra (lisp $(mas sao subshells)))))
>
> Abraços
>
> On 3/13/07, Bruno Gunter Fricke <[EMAIL PROTECTED]> wrote:
>
>> Pode completar com um for... Do tipo
>>
>> $ for i in `cat arquivo`; do let i++; awk '{print $1"."$NF}'; done;
>>
>> On Tue, 2007-03-13 at 09:42 -0300, Tiago Barcellos Peczenyj wrote:
>>
>>> Pense em AWK
>>>
>>> $ echo 'CAROLINA DE FREITAS SCHUINDT' | awk '{print $1"."$NF}'
>>> CAROLINA.SCHUINDT
>>>
>>> $ echo 'CAROLINA DE FREITAS SCHUINDT' | awk '{print
>>> tolower($1"."$NF)}'
>>> carolina.schuindt
>>>
>>> claro que pode ser feito em sed e outras ferramentas também
>>>
>>> T
>>>
>>> On 3/13/07, Edmilson Santana (listas) <[EMAIL
>>> PROTECTED]<edmilson.listas%40superig.com.br>
>>>
>>> wrote:
>>>
>>>> Pessoal,
>>>>
>>>> Bom dia, estou querendo gerar uma listas de logins no formato
>>>> <nome>.<ultimo nome>.
>>>>
>>>> Meu arquivo de entrada é no formato:
>>>>
>>>> ALEXANDRE VAZ DE ALMEIDA
>>>> CAIO MOREIRA VAN DEURSEN
>>>> CAROLINA DE FREITAS SCHUINDT
>>>> .
>>>> .
>>>> .
>>>>
>>>> Alguma idéia ?
>>>>
>>>> []'s
>>>>
>>>> Edmilson Santana
>>>>
>>>>
>>>>
>>> --
>>> Tiago B Peczenyj
>>> Linux User #405772
>>>
>>> # cd /pub
>>> # more beer
>>>
>>>