+ Responder ao Tópico



  1. #1

    Padrão Concatenar arquivos

    Boa tarde pessoal.
    Estou precisando da ajuda de vocês.
    Eu possuo um arquivo chamado 'teste1' com o seguinte conteúdo:

    1
    2
    3
    4

    E um arquivo 'teste2' com o seguinte conteúdo:

    2
    3
    4
    5

    Eu preciso atualizar o arquivo 'teste1' com o conteúdo do arquivo 'teste2'.
    Para tentar fazer isso, estou realizando o seguinte procedimento

    # diff teste1 teste2 > teste.diff
    # patch -p0 teste1 teste.diff

    O problema é que quando eu faço isso o arquivo 'teste1' fica com conteúdo igual ao do 'teste2'.
    Eu preciso fazer com que o arquivo 'teste1' mantenha seu conteúdo e adicione o conteúdo do 'teste2' que ele não possuir.

  2. #2

    Padrão

    Então cara... pensei da seguinte forma

    Código :
    #!/bin/bash
     
    cat /andre/script/teste2.txt >> /root/script/teste1.txt
    cat /andre/script/teste1.txt | sort | uniq >> teste1.txt.tmp
    rm /andre/script/teste1.txt
    mv /andre/script/teste1.txt.tmp /root/script/teste1.txt

    O que eu faço ali é concatenar todo o conteudo do arquivo teste2.txt dentro do arquivo teste1.txt, depois crio um arquivo temporario mas antes uso o comando sort para ordenar o arquivo e depois o comando uniq deixa somente entradas unicas no arquivo de saida.

    Ai é remover o antigo arquivo teste1.txt e renomear o arquivo temporario!
    Aqui funcionou que é uma blz... testa ai para o que voce precisa!



  3. #3

    Padrão

    Valew pela ajuda!!!!!
    Funcionou que é uma beleza!!!!!

  4. #4



  5. #5

    Padrão

    Opa... olha eu testei aqui assim:

    Criei os arquivos teste1 e teste2 com os seguintes conteudos
    Teste1:
    1
    2
    3
    4

    Teste2:
    2
    3
    4
    5
    6

    E o comando saiu assim:

    Código :
    Linux:~# join -j 1 file2 file1
    2
    3
    4
    Linux:~# ls
    file1  file2
    Linux:~# cat file1
    1
    2
    3
    4
    Linux:~# cat file2
    2
    3
    4
    5
    6

    Esse comando parece ser legal e parece facilitar o procedimento, mas aqui nao rolou!

  6. #6

    Padrão

    Hum... blz man!! Mas aqui ficou

    # arquivo1
    1 um
    2 dois
    3 tres

    # arquivo2
    1 11
    2 22
    3 33

    #join -j 1 arquivo1 arquivo2

    1 um 11
    2 dois 22
    3 tres 33

    :-) mas acho q não serve p oq nosso amigo quer!! os campos de junção tem q ser identicos!!