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: Fernando Mercês
Subject: Re: [shell-script] Inserir Conteúdo de um Arquivo em Outro
Date: Tue, 20 Nov 2012 10:02:54 -0300

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
>
>


reply via email to

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