The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
comparar ficheiros prashanth.spl Programação Shell Script e 0 06-18-2008 05:22
comparar ficheiros danabo Programação Shell Script e 3 05-19-2008 01:09
comparar dois arquivos charandevu Programação Shell Script e 7 03-30-2008 04:20
Compare dois arquivos Penfold Programação Shell Script e 3 04-29-2005 12:04
comparar ficheiros e além MizzGail UNIX para Dummies Perguntas & Respostas 2 04-25-2003 02:34

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-08-2008
amir07 amir07 is offline
Usuário
  
 

Join Date: Feb 2007
Lugares: 37
Compare dois arquivos

Preciso comparar dois arquivos:
Basicamente eu tenho um arquivo de entrada fileA.
que precisam de ser comparar com fileB localizado em / etc / lc / DMO directroy

Tanto o formato do arquivo é semelhante:

abc01def: 10.80.11.123

O formato é o arquivo de entrada:

abc01mns: 10.80.11.1
dbc02mns: 10.80.11.2
fbc01mns: 10.80.11.3
rbc01mns: 10.80.11.4
tbc01mps: 10.80.11.5
abt05mns: 10.80.11.6
zbc11mys: 10.80.11.7
ttc01mns: 10.80.11.8
hbc05mns: 10.80.11.9
qbc01mns: 10.80.11.10

Portanto, depois de comparar o script irá dizer-me:
o que foi eo que não dupicate duplicado.

Obrigado
  #2 (permalink)  
Old 10-08-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
Modérateur
  
 

Join Data: dezembro 2007
Localização: Home, de 17 de tempo de campeão mundial de Boston Celtics
Posts: 1.311
Wink Posso fazer um diff ou comm

A minha preferência é o comm comando. Do manpages --
Código:
OPTIONS
     The following options are supported:

     -1       Suppresses the output column  of  lines  unique  to
              file1.

     -2       Suppresses the output column  of  lines  unique  to
              file2.

     -3       Suppresses the output column of lines duplicated in
              file1 and file2.
Se você fornecer amostras dos dois arquivos, um exemplo comando poderia ser criada.
  #3 (permalink)  
Old 10-08-2008
amir07 amir07 is offline
Usuário
  
 

Join Date: Feb 2007
Lugares: 37
Obrigado.,

Esta abordagem funciona, o que você acha que:

#! / bin / ksh
enquanto lê myline
fazer
cnt \u003d 0
enquanto lê linha
fazer
if [[ "$ myline" \u003d "$ linha"]]
então
((cnt + \u003d 1))
quebrar
fi
feito <ficheiro1
if [[$ cnt-eq 0]]
então
echo "$ myline">> output.file
fi
feito <ficheiro2
  #4 (permalink)  
Old 10-08-2008
amir07 amir07 is offline
Usuário
  
 

Join Date: Feb 2007
Lugares: 37
Mas o problema aqui é supor se eu tiver uma linha adicional, em qualquer arquivo, ele não se compara. Ela compara apenas com números exatos linha em cada arquivo.
  #5 (permalink)  
Old 10-08-2008
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Join Date: Mar 2005
Localização: nó folha na árvore B +
Mensagens: 2.957
você pode tentar algo do tipo,

[Não testado]

Código:
awk 'BEGIN{ while ( getline < "file_1" ) { arr[$0]++ } }{ if ( $0 in arr ) { printf "%s is duplicate\n", $0 } }' file_2
  #6 (permalink)  
Old 10-08-2008
treesloth treesloth is offline
Usuário
  
 

Join Date: Oct 2008
Localização: Orem, Utah
Lugares: 73
O comando diff parece ideal para isso. Em particular:

Código:
diff -y file1 file2
Isso dará um side-by-side comparação. A página man listas mais opções do que eu sempre sonhei de utilizar, mas parece-y para responder às suas necessidades.
  #7 (permalink)  
Old 10-09-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Join Date: Feb 2007
Mensagens: 4.315
Tente isto, o resultado é armazenado em arquivos dup_file e no_dup_file:

Código:
awk 'NR==FNR{a[$0]=$0;next}
$0 in a {print $0 > "dup_file";next}
{print $0 > "no_dup_file"}
' fileA fileB
Utilize nawk / ou usr/xpg4/bin/awk no Solaris.

Atenciosamente
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 07:17.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0