Página 2 de 2 PrimeiroPrimeiro 12
+ Responder ao Tópico



  1. tipo ordena os arquivos com sort a principio, abre eles para leitura, ambos, a primeira linha do arquivo sera comparada com as linhas do outro arquivo ate chegar no final, e assim por diante, caso seja igual escreve em um outro arquivo, a partir dai rodando no while ate acabar o primeiro arquivo, acho que com isso voce consegue, algumas funcoes que vai precisar em perl eh: split para separar as linhas e open para abrir arquivos e os <> para os file descriptors... rapido voce faz isso, acho que em umas 20 linhas de codigo.

  2. Citação Postado originalmente por Jim
    Os campos que podem ser repetidos nos dois arquivos são um só?

    Tipo.. o unico que pode repetir é o yyy? todos os yyy de cada arquivo sao exclusivos ou podem duplicar?

    Fiz algu parecido em ShellScript, onde eu pegava a primeira coluna, pegava linha por linha e percorria outro arquivo de texto procurando um nome igual, ao encontrar juntava ambos noutro arquivo...
    Jim,

    Na verdade não existe campo unico. O campo YYY pode ter mais de um item no segundo arquivo.



  3. #8
    Mameli
    Bem, não sei se o script abaixo vai resolver seu problema. Ao menos foi o que eu entendi quanto a sua necessidade.

    Crie um shell com o nome unifica.sh e utilize o código abaixo.

    Qualquer dúvida, mande uma mensagem.

    []s

    Mameli

    #!/bin/bash
    # Unificacao de Arquivos
    # by Mameli
    if [ $# -lt 3 ]; then
    clear
    echo Sintaxe correta: unifica.sh \"arq1\" \"arq2\" \"arqunificado\"
    echo Sendo o nome do arquivo com extensao e sem usar as aspas
    echo .
    exit
    fi

    if [ ! -f $1 ]; then
    clear
    echo Arquivo $1 nao encontrado
    echo .
    exit
    fi
    if [ ! -f $2 ]; then
    clear
    echo Arquivo $2 nao encontrado
    echo .
    exit
    fi

    while read Arq1;
    do Col1=`echo $Arq1 | cut -d \; -f 1`
    Col2=`echo $Arq1 | cut -d \; -f 2`
    if grep $Col2 $2 >/dev/null; then
    Col3=`grep $Col2 $2 | cut -d \; -f 2`
    echo "$Col1;$Col2;$Col3" >> $3
    else echo "$Col1;$Col2;">>$3
    fi
    done <$1

    while read Arq2;
    do Col1=`echo $Arq2 | cut -d \; -f 1`
    Col2=`echo $Arq2 | cut -d \; -f 2`
    if ! grep $Col2 $3 >/dev/null; then
    echo ";$Col1;$Col2" >> $3
    fi
    done <$2

    clear
    echo Unificacao executada com sucesso !!!!!
    echo Gerado arquivo: $3

  4. #9
    marylis
    caros,gostaria que me ajudassem a impretar uma variavel por exemplo:

    shell a.sh
    MYVAR= ola


    Shell b.sh

    echo "$MYVAR"

    ajudem me






Tópicos Similares

  1. 2 Hotspot em um só Mikrotik com dois links
    Por arllenphilipe no fórum Redes
    Respostas: 1
    Último Post: 28-02-2015, 20:57
  2. Dois Links em um só
    Por admskill no fórum Redes
    Respostas: 3
    Último Post: 29-11-2007, 22:15
  3. Unificar varios arquivos texto em um so
    Por thiagotg no fórum Servidores de Rede
    Respostas: 3
    Último Post: 19-05-2006, 12:58
  4. Como colocar faixas de ip em um só arquivo do cbq
    Por markcom no fórum Servidores de Rede
    Respostas: 3
    Último Post: 02-01-2005, 17:19
  5. 2 links em um só servidor!!!
    Por SilenT no fórum Servidores de Rede
    Respostas: 3
    Último Post: 16-09-2004, 10:28

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L