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

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

Re: [shell-script] Inserir Conteúdo de um Arquivo em Outro


From: Alfredo Casanova
Subject: Re: [shell-script] Inserir Conteúdo de um Arquivo em Outro
Date: Tue, 20 Nov 2012 11:14:19 -0200

$ cat a
1
2
3
6

$ cat b
4
5

$ sed "3 r b" a
1
2
3
4
5
6


não é isso?


2012/11/20 Carlos Alberto Teixeira Magalhães <address@hidden>

> **
>
>
> Olá Fernando. Testei e funcionou.
>
> Muito obrigado.
>
> Em 20 de novembro de 2012 10:02, Fernando Mercês <address@hidden
> >escreveu:
>
> > **
>
> >
> >
> > Estou sem Linux agora, mas o sed não resolveria?
> >
> > sed -i '4r arquivo1' arquivo2
> >
> > Não testei. :(
> >
> > Att,
> >
> > Fernando Mercês
> > Linux Registered User #432779
> > www.mentebinaria.com.br
> > ------------------------------------
> > "Ninguém pode ser escravo de sua identidade; quando surge uma
> > possibilidade de mudança é preciso mudar". (Elliot Gould)
> >
> > 2012/11/20 Alysson Gonçalves de Azevedo <address@hidden>:
> >
> > > Mano, fico devendo aquele comando mágico do sed que vai resolver seu
> > > problema, mas entre fazer esse loop doidão ai, talvez isso seja mais
> > > simples:
> > >
> > > head -n3 arquivo1 > arquivo3
> > > cat arquivo2 >> arquivo3
> > > tail -n+3 arquivo1 >> arquivo3
> > >
> > > o arquivo 3 vai ter o que vc quer.
> > >
> > >
> > >
> > > Alysson Gonçalves de Azevedo - (11) 984 917 730
> > >
> > > "É curioso como as pessoas ficam confusas quando a frase não terminam
> do
> > > jeito que elas periquito."
> > >
> > >
> > >
> > > Em 20 de novembro de 2012 10:57, Carlos Alberto Teixeira Magalhães <
> > > address@hidden> escreveu:
> > >
> > >> **
> > >>
> > >>
> > >> Jonathan, muito boa sua solução. Não conhecia.
> > >>
> > >> Obrigado.
> > >>
> > >> Em 20 de novembro de 2012 09:51, Jonathan Lessa
> > >> <address@hidden>escreveu:
> > >>
> > >>
> > >> > ou inverter a ordem de leitura:
> > >> >
> > >> > $ cat a1
> > >> > linha 1
> > >> > linha 2
> > >> > linha 3
> > >> > linha 4
> > >> > linha 5
> > >> >
> > >> > $ cat a2
> > >> > string 1
> > >> > string 2
> > >> > string 3
> > >> > string 4
> > >> >
> > >> > $ while read LINHA; do sed -i 3a"$LINHA" a1; done < <(tac a2)
> > >> >
> > >> > $ cat a1
> > >> > linha 1
> > >> > linha 2
> > >> > linha 3
> > >> > string 1
> > >> > string 2
> > >> > string 3
> > >> > string 4
> > >> > linha 4
> > >> > linha 5
> > >> >
> > >> >
> > >> >
> > >> > Em 20 de novembro de 2012 09:42, Carlos Alberto Teixeira Magalhães <
> > >> > address@hidden> escreveu:
> > >> >
> > >> > > **
> > >> > >
> > >> > >
> > >> > > Ok Alysson. Percebi que estou amarrando na quarta linha.
> > >> > >
> > >> > > A ordem correta que me refiro é inserir da primeira à última linha
> > do
> > >> > > arquivo2.txt no arquivo1.txt
> > >> > >
> > >> > > Percebi que tenho que manipular a linha onde inserir também. Algo
> do
> > >> > tipo:
> > >> > > A=3; while read $LINHA; do sed -i $((A++))a"$LINHA" arquivo1.txt;
> > done
> > >> <
> > >> > > arquivo2.txt
> > >> > >
> > >> > > Obrigado.
> > >> > >
> > >> > > Em 20 de novembro de 2012 09:35, Alysson Gonçalves de Azevedo <
> > >> > > address@hidden> escreveu:
> > >> > >
> > >> > >
> > >> > > > O comando que você usou basicamente insere a linha lida do
> > arquivo2
> > >> na
> > >> > 4ª
> > >> > > > linha do arquivo1 (lembrando que a primeira linha é 0).
> > >> > > >
> > >> > > > Teste de mesa:
> > >> > > > Lê String1 ->insere na 4ª linha do arquivo1
> > >> > > > linha 1
> > >> > > > linha 2
> > >> > > > linha 3
> > >> > > > string 1
> > >> > > > linha 4
> > >> > > > linha 5
> > >> > > >
> > >> > > > Lê String2 ->insere na 4ª linha do arquivo1
> > >> > > > linha 1
> > >> > > > linha 2
> > >> > > > linha 3
> > >> > > > string 2
> > >> > > > string 1
> > >> > > > linha 4
> > >> > > > linha 5
> > >> > > >
> > >> > > > Lê String3 ->insere na 4ª linha do arquivo1
> > >> > > > linha 1
> > >> > > > linha 2
> > >> > > > linha 3
> > >> > > > string 3
> > >> > > > string 2
> > >> > > > string 1
> > >> > > > linha 4
> > >> > > > linha 5
> > >> > > >
> > >> > > > E por ai vai.
> > >> > > >
> > >> > > > E você não citou e eu não capitei qual seria a ordem correta,
> > então
> > >> não
> > >> > > sei
> > >> > > > te ajudar.
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > Alysson Gonçalves de Azevedo - (11) 984 917 730
> > >> > > >
> > >> > > > "É curioso como as pessoas ficam confusas quando a frase não
> > terminam
> > >> > do
> > >> > > > jeito que elas periquito."
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > Em 20 de novembro de 2012 10:27, Carlos Alberto Teixeira
> > Magalhães <
> > >> > > > address@hidden> escreveu:
> > >> > > >
> > >> > > > > **
> > >> > > > >
> > >> > > > >
> > >> > > > > Bom dia a todos.
> > >> > > > >
> > >> > > > > Em um determinado ponto de um script que estou fazendo,
> preciso
> > >> > > inserir o
> > >> > > > > conteúdo de um arquivo txt em outro. Por exemplo:
> > >> > > > >
> > >> > > > > Conteúdo de arquivo1.txt:
> > >> > > > > linha 1
> > >> > > > > linha 2
> > >> > > > > linha 3
> > >> > > > > linha 4
> > >> > > > > linha 5
> > >> > > > >
> > >> > > > > Conteúdo de arquivo2.txt:
> > >> > > > > string 1
> > >> > > > > string 2
> > >> > > > > string 3
> > >> > > > > string 4
> > >> > > > >
> > >> > > > > Tentei inserir o conteúdo de arquivo2.txt a partir da quarta
> > linha
> > >> do
> > >> > > > > arquivo1.txt usando:
> > >> > > > > while read LINHA; do sed -i 3a"$LINHA" arquivo1.txt; done <
> > >> > > arquivo2.txt
> > >> > > > >
> > >> > > > > Mas o conteúdo foi inserido do fim pro começo. Ou seja, o
> > conteúdo
> > >> de
> > >> > > > > arquivo1.txt ficou assim:
> > >> > > > > linha 1
> > >> > > > > linha 2
> > >> > > > > linha 3*
> > >> > > > > string 4
> > >> > > > > string 3
> > >> > > > > string 2
> > >> > > > > string 1*
> > >> > > > > linha 4
> > >> > > > > linha 5
> > >> > > > >
> > >> > > > > Alguém sabe o porquê? Alguém sabe como inserir na ordem
> correta
> > >> > usando
> > >> > > > sed?
> > >> > > > >
> > >> > > > > Obrigado.
> > >> > > > >
> > >> > > > > --
> > >> > > > > Carlos Alberto Teixeira Magalhães
> > >> > > > > Analista de Suporte
> > >> > > > > Departamento de Informática - DI
> > >> > > > > Universidade Estadual do Ceará - UECE
> > >> > > > > "A Ciência da Computação nasceu para resolver problemas que
> não
> > >> > > > existiriam
> > >> > > > > se não fosse o computador." :P
> > >> > > > >
> > >> > > > > [As partes desta mensagem que não continham texto foram
> > removidas]
> > >> > > > >
> > >> > > > >
> > >> > > > >
> > >> > > >
> > >> > > >
> > >> > > > [As partes desta mensagem que não continham texto foram
> removidas]
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > ------------------------------------
> > >> > > >
> > >> > > > ----------------------------------------------------------
> > >> > > > Esta lista não admite a abordagem de outras liguagens de
> > programação,
> > >> > > como
> > >> > > > perl, C etc. Quem insistir em não seguir esta regra será
> moderado
> > sem
> > >> > > > prévio aviso.
> > >> > > > ----------------------------------------------------------
> > >> > > > Sair da lista: address@hidden
> > >> > >
> > >> > > > ----------------------------------------------------------
> > >> > > > Esta lista é moderada de acordo com o previsto em
> > >> > > > http://www.listas-discussao.cjb.net
> > >> > > > ----------------------------------------------------------
> > >> > > > Servidor Newsgroup da lista: news.gmane.org
> > >> > > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >> > > >
> > >> > > > Links do Yahoo! Grupos
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > >
> > >> > > --
> > >> > > Carlos Alberto Teixeira Magalhães
> > >> > > Analista de Suporte
> > >> > > Departamento de Informática - DI
> > >> > > Universidade Estadual do Ceará - UECE
> > >> > > "A Ciência da Computação nasceu para resolver problemas que não
> > >> > existiriam
> > >> > > se não fosse o computador." :P
> > >> > >
> > >> > > [As partes desta mensagem que não continham texto foram removidas]
> > >> > >
> > >> > >
> > >> > >
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > Att.:
> > >> > Jonathan Lessa
> > >> >
> > >> >
> > >> > [As partes desta mensagem que não continham texto foram removidas]
> > >> >
> > >> >
> > >> >
> > >> > ------------------------------------
> > >> >
> > >> > ----------------------------------------------------------
> > >> > Esta lista não admite a abordagem de outras liguagens de
> programação,
> > >> como
> > >> > perl, C etc. Quem insistir em não seguir esta regra será moderado
> sem
> > >> > prévio aviso.
> > >> > ----------------------------------------------------------
> > >> > Sair da lista: address@hidden
> > >> > ----------------------------------------------------------
> > >> > Esta lista é moderada de acordo com o previsto em
> > >> > http://www.listas-discussao.cjb.net
> > >> > ----------------------------------------------------------
> > >> > Servidor Newsgroup da lista: news.gmane.org
> > >> > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >> >
> > >> > Links do Yahoo! Grupos
> > >> >
> > >> >
> > >> >
> > >>
> > >> --
> > >> Carlos Alberto Teixeira Magalhães
> > >> Analista de Suporte
> > >> Departamento de Informática - DI
> > >> Universidade Estadual do Ceará - UECE
> > >> "A Ciência da Computação nasceu para resolver problemas que não
> > existiriam
> > >> se não fosse o computador." :P
> > >>
> > >> [As partes desta mensagem que não continham texto foram removidas]
> > >>
> > >>
> > >>
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > > ------------------------------------
> > >
> > > ----------------------------------------------------------
> > > Esta lista não admite a abordagem de outras liguagens de programação,
> > como perl, C etc. Quem insistir em não seguir esta regra será moderado
> sem
> > prévio aviso.
> > > ----------------------------------------------------------
> > > Sair da lista: address@hidden
> > > ----------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> > > ----------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > > Links do Yahoo! Grupos
> > >
> > >
> >
> >
> >
>
> --
> Carlos Alberto Teixeira Magalhães
> Analista de Suporte
> Departamento de Informática - DI
> Universidade Estadual do Ceará - UECE
> "A Ciência da Computação nasceu para resolver problemas que não existiriam
> se não fosse o computador." :P
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
[]'s
Alfredo Casanova
Linux User #228230
msn: address@hidden
tel: +55 61 9655 9619


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



reply via email to

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