Fazendo em bash puro:
$ echo $Nome
CAROLINA DE FREITAS SCHUINDT
$ echo ${Nome##* }, ${Nome%% *}
SCHUINDT, CAROLINAPara entender melhor veja: http://twiki.softwarelivre.org/bin/view/TWikiBar/TWikiBarPapo009#Expans%E3o_de_par%E2metros Um abração, Julio :wq Em 13/03/07, Tiago Barcellos Peczenyj <[EMAIL PROTECTED]> escreveu: > > 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]<gunter%40infolink.com.br>> > 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> > <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 > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > -- > Tiago B Peczenyj > Linux User #405772 > > # cd /pub > # more beer > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]
