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

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

Re: [shell-script] mudar linhas do arquivo


From: Anderson Souza
Subject: Re: [shell-script] mudar linhas do arquivo
Date: Fri, 10 Oct 2008 19:56:51 +0000

certo...
blz... valeu ai pela ajuda e atençao!
flws



Em 10/10/08, jimmy <address@hidden> escreveu:
>
>   On Fri, Oct 10, 2008 at 05:47:06PM +0000, Anderson Souza wrote:
> > no exemplo do Jimmy funcionou blz... mas gostaria que me explicasse a
> linha
> >
> > read c1 c2 c3 || break
> >
> > no caso aqui o "c" indica a coluna, então pergunto (desculpe pela
> > ignorância),
>
> o while faz um loop infinito e nessa linha eu controlo a leitura do
> arquivo de entrada declarando que se não for possível ler a linha do
> arquivo interrompa a execução "|| break"
>
> o nome dessas variáveis foi apenas ilustrativo, poderia ser qualquer
> outro nome; ex.:
> read x y z
>
> > na necessidade de modificar uma determinada linha podeira usar
> > o "l25" por exemplo?
>
> não é possível usar essa notação nessa estrutura que lhe passei;
> quem controla o número da linha é a variável "i" (poderia mudar para "l"
> também), para fazer a alteração na linha 25 seria necessário perguntar
> se a variável "i" é igual a 25 a cada looping, ex.:
>
> while ...
> if [ $i -eq 25 ]; then
> cmd1
> cmd2
> ...
> fi
> done
>
> ---
>
> Obs: parece que seu cliente de e-mail está "detonando" os scripts que
> estão lhe passando, realizando quebras de linha onde não deveria, por
> isso os erros que informa sobre a execução dos mesmos.
>
>
> >
> > Em 10/10/08, Anderson Souza <address@hidden<anderson.souza35%40gmail.com>>
> escreveu:
> > >
> > > for ((ind=0; ind <= $[$(cat t300908.txt | wc -l)/5]; ind+=2))
> > > do
> > > sed -i "$((ind*5+1)),$((ind*5+5))s/\(
> > >
> > > .\{8\} \).*/\1180.000000
> > > 90.000000/" t300908.txt
> > > done
> > > olha só a saída:
> > >
> > > sed: -e expression #1, char 35: Unterminated `s' command
> > > sed: -e expression #1, char 35: Unterminated `s' command
> > > sed: -e expression #1, char 35: Unterminated `s' command
> > > sed: -e expression #1, char 35: Unterminated `s' command
> > > ...
> > > ...
> > >
> > > Em 10/10/08, Julio C. Neves <address@hidden<julio.neves%40gmail.com>>
> escreveu:
> > >>
> > >> Com awk deve ser mais rápido, mas assim tb é uma saída:
> > >>
> > >> for ((ind=0; ind <= $[$(cat lixo | wc -l)/5]; ind+=2))
> > >> do
> > >> sed -i "$((ind*5+1)),$((ind*5+5))s/\(.\{8\} \).*/\1180.000000
> > >> 90.000000/" lixo
> > >> done
> > >>
> > >> Basta trocar lixo pelo nome do seu arquivo.
> > >> *-- *
> > >> Abração,
> > >> Julio
> > >> *Cursos de Shell nos finais de semana:
> > >> - Em SP ligue (11) 2125-4747;
> > >> - Em DF ligue (61) 3223-3000;
> > >> - Turmas fechadas em qualquer cidade ligue (21) 8112-9988*
> > >>
> > >> 2008/10/8 Anderson Souza <address@hidden<anderson.souza35%40gmail.com>
> <anderson.souza35%40gmail.com>
> > >> >
> > >>
> > >> > olá galera é o seguinte:
> > >> > tenho o seguinte arquivo:
> > >> > cat file1
> > >> >
> > >> > 3.000000 207.693604 139.802216
> > >> > 3.016667 207.423340 139.695282
> > >> > 3.033333 207.151947 139.589447
> > >> > 3.050000 206.879440 139.484161
> > >> > 3.066667 206.605835 139.380280
> > >> > 3.083333 206.331390 139.277222
> > >> > 3.100000 206.055557 139.175003
> > >> > 3.116667 205.778885 139.073883
> > >> > 3.133333 205.501114 138.973892
> > >> > 3.150000 205.222229 138.874725
> > >> > 3.166667 204.942215 138.776672
> > >> > 3.183333 204.661392 138.679718
> > >> > 3.200000 204.379440 138.583893
> > >> > 3.216667 204.096390 138.488892
> > >> > 3.233333 203.812225 138.395004
> > >> > 3.250000 203.526947 138.301941
> > >> > 3.266667 203.240829 138.210281
> > >> > 3.283333 202.953888 138.119446
> > >> > 3.300000 202.665558 138.029999
> > >> > 3.316667 202.376389 137.941391
> > >> > 3.333333 202.086105 137.853882
> > >> > 3.350000 201.794998 137.767502
> > >> > 3.366667 201.503052 137.681946
> > >> > 3.383333 201.209717 137.597778
> > >> > 3.400000 200.915833 137.514725
> > >> > 3.416667 200.620560 137.432770
> > >> > 3.433333 200.324722 137.351669
> > >> >
> > >> > a cada 5 linhas eu quero que fique da seguinte forma:
> > >> >
> > >> > 3.000000 180.000000 90.000000
> > >> > 3.016667 180.000000 90.000000
> > >> > 3.033333 180.000000 90.000000
> > >> > 3.050000 180.000000 90.000000
> > >> > 3.066667 180.000000 90.000000
> > >> > 3.083333 206.331390 139.277222
> > >> > 3.100000 206.055557 139.175003
> > >> > 3.116667 205.778885 139.073883
> > >> > 3.133333 205.501114 138.973892
> > >> > 3.150000 205.222229 138.874725
> > >> > 3.166667 180.000000 90.000000
> > >> > 3.183333 180.000000 90.000000
> > >> > 3.200000 180.000000 90.000000
> > >> > 3.216667 180.000000 90.000000
> > >> > 3.233333 180.000000 90.000000
> > >> > 3.250000 203.526947 138.301941
> > >> > 3.266667 203.240829 138.210281
> > >> > 3.283333 202.953888 138.119446
> > >> > 3.300000 202.665558 138.029999
> > >> > 3.316667 202.376389 137.941391
> > >> > 3.333333 180.000000 90.000000
> > >> > 3.350000 180.000000 90.000000
> > >> > 3.366667 180.000000 90.000000
> > >> > 3.383333 180.000000 90.000000
> > >> > 3.400000 180.000000 90.000000
> > >> > 3.416667 200.620560 137.432770
> > >> > 3.433333 200.324722 137.351669
> > >> >
> > >> > alguem pode me ajudar eu agradeço....
> > >> > --
> > >> > Anderson Souza
> > >> > Email: address@hidden <anderson.souza35%40gmail.com><anderson.souza35%
> 40gmail.com><anderson.souza35%
> > >> 40gmail.com>
> > >> > Skype: anderson1904
> > >> > Msn: address@hidden <aos_3%40msn.com> <aos_3%40msn.com> <aos_3%
> 40msn.com>
> > >> > Fone: (12)9732-9877
> > >> > __________________________________________________________
> > >> > "Os que desprezam pequenos acontecimentos, dificilmente farão
> grandes
> > >> > descobertas."
> > >> >
> > >> > [As partes desta mensagem que não continham texto foram removidas]
> > >> >
> > >> >
> > >> >
> > >>
> > >> --
> > >> Abração,
> > >> Julio
> > >> Cursos de Shell nos finais de semana:
> > >> - Em SP ligue (11) 2125-4747;
> > >> - Em DF ligue (61) 3223-3000;
> > >> - Turmas fechadas em qualquer cidade ligue (21) 8112-9988
> > >>
> > >> [As partes desta mensagem que não continham texto foram removidas]
> > >>
> > >>
> > >>
> > >
> > >
> > >
> > > --
> > > Anderson Souza
> > > Email: address@hidden <anderson.souza35%40gmail.com>
> > > Skype: anderson1904
> > > Msn: address@hidden <aos_3%40msn.com>
> > > Fone: (12)9732-9877
> > > __________________________________________________________
> > > "Os que desprezam pequenos acontecimentos, dificilmente farão grandes
> > > descobertas."
> > >
> >
> >
> >
> > --
> > Anderson Souza
> > Email: address@hidden <anderson.souza35%40gmail.com>
> > Skype: anderson1904
> > Msn: address@hidden <aos_3%40msn.com>
> > Fone: (12)9732-9877
> > __________________________________________________________
> > "Os que desprezam pequenos acontecimentos, dificilmente farão grandes
> > descobertas."
> >
> > ------------------------------------
>
>  
>



-- 
Anderson Souza
Email: address@hidden
Skype: anderson1904
Msn: address@hidden
Fone: (12)9732-9877
_______________________________________________________________________
"Os que desprezam pequenos acontecimentos, dificilmente farão grandes
descobertas."


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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