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

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

linhas múltiplas de 4


From: Molinero
Subject: linhas múltiplas de 4
Date: Thu, 11 Dec 2008 21:24:19 -0200
User-agent: Thunderbird 2.0.0.17 (X11/20080914)

Pessoal,

 Gostaria de uma ajuda de vocês.
 Preciso fazer um script que leia um arquivo e de 4 em 4 linhas deste
arquivo e altere uma parte desta linha.

Ex.:
Arquivo_Original.txt
=== linha em branco ===
Nome: Nair
Sobrenome: Silveira
email: address@hidden
email: address@hidden
=== linha em branco ===
Nome: Carlos
Sobrenome: Martin
email: address@hidden
email: address@hidden
=== linha em branco ===
Nome: Lucia
Sobrenome: Andrade
email: address@hidden
email: address@hidden

Quero alterar o segundo "email" para "email_alternativo", ficando então:

Arquivo_Novo.txt
=== linha em branco ===
Nome: Nair
Sobrenome: Silveira
email: address@hidden
email_alternativo: address@hidden
=== linha em branco ===
Nome: Carlos
Sobrenome: Martin
email: address@hidden
email_alternativo: address@hidden

... e por ai vai.

Quebrei a cabeça e não consegui, por isso peço a ajuda de vcs.
Agradeço desde já !!!


======================================
                  CyberCrow
        Conhecimento é Poder !

  Quando voce perde a mente limitada
       Voce liberta a sua vida

  http://cybercrow.blogspot.com
======================================

   1. Try to find an answer by searching the archives of the forum you plan to 
post to.
   2. Try to find an answer by searching the Web.
   3. Try to find an answer by reading the manual.
   4. Try to find an answer by reading a FAQ.
   5. Try to find an answer by inspection or experimentation.
   6. Try to find an answer by asking a skilled friend.
   7. If you're a programmer, try to find an answer by reading the source code.

-----BEGIN GEEK CODE BLOCK-----
  Version: 3.12
  GCM/L/U d- s-: a- C++ LSU++++ P+ L+++ E--- W++ N w--
  O-- M- V- PS PE- Y PGP++ t 5 X++ R tv- b++ DI D+
  G++ e- h* r y+
-------END GEEK CODE BLOCK------



edmarssouza wrote:
>
> --- Em address@hidden
> <mailto:shell-script%40yahoogrupos.com.br>, "Julio C. Neves"
> <julio.neves@...> escreveu
> >
> > Eu falei para o editor:
> > - "tem até Clube JB (leitores do Jornal do Brasil) e não tem nenhuma
> > vantagem para os usuários de Sw Livre que são duros e quem mais
> compras
> > livro da editora?"
> >
> > Assim foi criado o Clube JN que dá 30% de desconto na compra de qq
> livro da
> > Brasport, não só o meu (atualmente, cerca de 80% das publicações da
> editora
> > são sobre SL).
> >
> > Abraços a todos e o assunto já virou OT.
> > Julio
> > *Cursos de Shell nos finais de semana:
> > - Em SP ligue (11) 2125-4747;
> > - Em DF ligue (61) 3223-3000;
> > - Turmas fechadas em outras cidades ligue (21) 8112-9988*
> >
> > 2008/12/9 Breno Moiana <breno.moiana@...>
> >
> > > Só pra retificar, é brasport.com.br, o brasport.com é um site
> de uma
> > > empresa suíça de manufatura de pulseiras de relógios, estojos e
> outros
> > > artigos em couro :)
> > >
> > > Julião, "Clube JN" foi muito boa... tem carteirinha? "Membro do
> Julio
> > > Neves Social Club", ia ser boa essa :D
> > >
> > > abraço!
> > >
> > > Moiana.
> > > --
> > >
> > > 2008/12/9 Julio C. Neves <julio.neves@... <julio.neves%
> 40gmail.com>
> > > >:
> > >
> > > > Fala Edmar,
> > > > Eu não sei se é bom, quem pode se manifestar é a lista, mas no
> meu livro,
> > > > tem um apêndice de umas 50 páginas sobre awk e outro apêndice
> sobre
> > > > expressões regulares, baseado num trabalho do verde.
> > > >
> > > > Se alguém quiser comprar o livro, compre em www.brasport.com e
> ao final
> > > da
> > > > compra diga que é do convênio Clube JN, que ganha 30% de
> desconto.
> > > >
> > > > Isso não é irregular. Foi uma combinação minha com o meu editor
> para
> > > > baratear o preço dos livros para o pessoal de sw. livre.
> > > > --
> > > > 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 outras cidades ligue (21) 8112-9988*
> > > >
> > > > 2008/12/7 edmarssouza <edmarssouza@...<edmarssouza%
> 40yahoo.com.br>
> > > >
> > > >
> > > >> --- Em address@hidden
> <mailto:shell-script%40yahoogrupos.com.br><shell-script%
> 40yahoogrupos.com.br>
> > > <shell-script%40yahoogrupos.com.br>,
> > >
> > > >> "Julio C. Neves"
> > > >> <julio.neves@> escreveu
> > > >> >
> > > >> > Fala Edmar,
> > > >> > me esqueci de te dizer uma coisa importante: evite usar esta
> > > >> seqüencia de
> > > >> > escape para definir cores e prefira usar tput setaf e tput
> setab. Vá
> > > em
> > > >> > www.julioneves.com, pegue o link para "Livro de Shell em
> Português",
> > > >> escolha
> > > >> > a última opção "Tira Gosto" e lá vc terá um ítem "Colorindo
> a Tela".
> > > >> Leia
> > > >> > que vale a pena. Está em português e é divertido.
> > > >> >
> > > >> > Porque aconselho o tput? Pq a seqüência de escape (do tipo
> \033...
> > > >> (033 em
> > > >> > octal é 27 em decimal que é <ESC> em ascii. Faça echo
> $[8#33] e em
> > > >> seguida
> > > >> > procure o resultado deste cmd em man ascii)) coloca
> fisicamente
> > > >> caracteres
> > > >> > precedendo e sucedendo as cadeias que vc deseja colorir. Há
> alguns
> > > anos,
> > > >> > reportei um erro no ls | grep ^arq*. O grep não achava
> nenhum arquivo
> > > >> > começado por arq, pq o ls era colorido e a seqüência de
> escape o
> > > >> precedia.
> > > >> > Qdo fazia ls arq*, achava um monte de arquivos.
> > > >> >
> > > >> > Há algum tempo dei aula para um Edmar, que deve estar na
> nossa lista
> > > >> pois
> > > >> > sempre aconselho meus alunos a entrar nela, que era muito
> bom e de
> > > tanto
> > > >> > gozá-lo (no bom sentido), acabamos ficando amigos.
> > > >> > --
> > > >> > Abração,
> > > >> > Julio
> > > >> > *Cursos de Shell e/ou Zenity nos finais de semana:
> > > >> > - Em SP ligue (11) 2125-4747;
> > > >> > - Em DF ligue (61) 3223-3000;
> > > >> > - Turmas fechadas em outras cidades ligue (21) 8112-9988*
> > > >> >
> > > >> > 2008/12/7 edmarssouza <edmarssouza@>
> > > >> >
> > > >> > > --- Em
> > > >> address@hidden
> <mailto:shell-script%40yahoogrupos.com.br> <shell-script%
> 40yahoogrupos.com.br><shell-script%
> > > 40yahoogrupos.com.br>
> > > >> <shell-script%40yahoogrupos.com.br>,
> > > >>
> > > >> > > "Julio C. Neves"
> > > >> > > <julio.neves@> escreveu
> > > >> > >
> > > >> > > >
> > > >> > > > Fala Edmar,
> > > >> > > > não vou nem tentar entender o erro, pois o que vc
> colocou parece
> > > >> > > estar tudo
> > > >> > > > OK e provavelmente o erro está mascarado em algo que não
> deu para
> > > >> > > ver.
> > > >> > > >
> > > >> > > > O seu problema estaria resolvido se vc trocasse o
> locale.conf, as
> > > >> > > seguintes
> > > >> > > > linhas:
> > > >> > > >
> > > >> > > > export LANG=pt_BR
> > > >> > > > export LC_ALL=pt_BR
> > > >> > > > export LC_MESSAGES=pt_BR
> > > >> > > >
> > > >> > > > Mas para isso funcionar, seria necessário "executar" o
> locale.conf
> > > >> > > com o cmd
> > > >> > > > source, como vc já estava fazendo.
> > > >> > > >
> > > >> > > > Uma perguntinha OT para check de sanidade: vc é o Edmar
> que foi
> > > meu
> > > >> > > aluno?
> > > >> > > > --
> > > >> > > > Abração,
> > > >> > > > Julio
> > > >> > > > *Cursos de Shell e Zenity nos finais de semana:
> > > >> > > > - Em SP ligue (11) 2125-4747;
> > > >> > > > - Em DF ligue (61) 3223-3000;
> > > >> > > > - Turmas fechadas em outras cidades ligue (21) 8112-9988
> > > >> > > > *
> > > >> > > > 2008/12/7 edmarssouza <edmarssouza@>
> > > >> > >
> > > >> > > >
> > > >> > > > > E ai galera, tudo bem?
> > > >> > > > > Ai Julio, muito obrigado por ter solucionado minha
> dúvida quanto
> > > >> > > ao
> > > >> > > > > trap não bloquear a tecla ctrl+z.
> > > >> > > > > Eu ia ficar me matando e não iria consegui resolver o
> problema.
> > > >> > > > > Agradeço...
> > > >> > > > > Agora tenho um outro probleminha, que não consegui
> resolver e se
> > > >> > > for
> > > >> > > > > possivel a ajuda de todos
> > > >> > > > > ficaria muito agradecido.
> > > >> > > > > É o seguinte, tenho o arquivo /etc/locale.conf que está
> > > definido,
> > > >> > > > > como segue:
> > > >> > > > > LANG="pt_BR"
> > > >> > > > > LC_ALL="pt_BR"
> > > >> > > > > LC_MESSAGES="pt_BR"
> > > >> > > > >
> > > >> > > > > O problema é para exportar as variaveis, porque quando
> o script
> > > é
> > > >> > > > > executado, ele cria um processo filho
> > > >> > > > > e quando uso o export para exportar as váriaveis, elas
> são
> > > >> > > exportadas
> > > >> > > > > para o processo filho, assim
> > > >> > > > > então, quando o script for finalizado, tudo será
> perdido.
> > > >> > > > > E quando tento usar o comando source para exporta as
> váriaveis
> > > >> > > para o
> > > >> > > > > processo pai, dá o erro:
> > > >> > > > >
> > > >> > > > > ./locale: source: line 4: export: not found
> > > >> > > > >
> > > >> > > > > acho que é por não consegui achar o comando export,
> por ser um
> > > >> > > build
> > > >> > > > > do shell sh.
> > > >> > > > > O problema é como conseguirei exportar as váriaveis
> para o
> > > >> > > processo
> > > >> > > > > pai.
> > > >> > > > > Agradeço de coração qualquer ajuda.
> > > >> > > > > Uma parte do script é o que se segue:
> > > >> > > > >
> > > >> > > > > #!/bin/sh
> > > >> > > > > if [ -f /etc/locale.conf ]; then
> > > >> > > > > $echo -ne " \033[37;1mCarregando o locale:\033[m \033
> [34;1mpt_BR
> > > >> > > \033
> > > >> > > > > [37;1m...\033[m"
> > > >> > > > > . /etc/locale.conf && export LANG LC_ALL LC_MESSAGES
> > > >> > > > > fi
> > > >> > > > >
> > > >> > >
> > > >> > > E ai Julio, obrigadão pela ajuda do export, foi de grande
> ajuda era
> > > >> > > isso mesmo que eu precisava fazer. É que eu estava
> pensando que
> > > teria
> > > >> > > que dar permissão de execução para o
> arquivo /etc/locale.conf,
> > > >> > > esquecendo que o source o executa sem a permissao de
> execução
> > > >> > > habilitada. Quanto ao ser aluno seu, quem diria eu ter tido
> > > >> > > oportunidade para tal, seria muito gratificante. Sou
> daqueles
> > > >> > > autodidata meio louco por linux (principalmente por modo
> texto)
> > > rsrs,
> > > >> > > mais fiquei curioso para saber o que gerou, tal pergunta?
> Espero
> > > >> > > resposta. Um grande abração e obrigado denovo.
> > > >> > >
> > > >>
> > > >> E ai Julio, obrigado pela referência de trocar o echo colorido
> pelo
> > > >> tput, (fui no seu site e baixei a página citada), a explicação
> tecnica
> > > >> foi justa, pois eu poderia ter problemas mais tarde e não
> saberia
> > > >> porque. Um problema a menos. É o seguinte estou criando uma
> mini
> > > >> distribuição linux, (não é para encher o mundo linux com mais
> uma
> > > >> distribuição) inicialmente criei ela para minha necessidade,
> pois
> > > >> tenho um HD de 135MB (rsrs) e mesmo assim, queria aproveitá-lo
> para
> > > >> ser servidor de um outro pc meu. E para estudo do linux (de
> como
> > > >> funciona as partes do mesmo), como modo de inicialização e
> entre
> > > >> outras coisas básicas. Depois tive de criar o instalador e
> painel de
> > > >> controle, e preferi usar o shell script, desde então peguei
> paixão por
> > > >> shell script. Queria lhe fazer só uma perguntinha básica, você
> teria
> > > >> como me indicar um livro de awk e sed, ou simplesmente awk?
> Até mais
> > > >> um abraço.
> > > >>
> > > >>
> > > >>
> > > >
> > > > [As partes desta mensagem que não continham texto foram
> removidas]
> > > >
> > > >
> > >
> > >
> >
> >
> >
> > --
> > Abração,
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
> Como vai? Então valeu mesmo pela dica vou agora mesmo dá uma olhada
> nos livros, até mais. Obrigadão e um grande abraço.
>
>  


reply via email to

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