The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

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
necessitar de alguma ajuda .. Comparação bluesilo Programação Shell Script e 0 02-23-2008 04:43
Comparação dos 2 ficheiros em UNIX Dana Evans UNIX para Dummies Perguntas & Respostas 32 11-21-2007 07:05
Seqüência Comparação entre dois arquivos usando awk rudoraj Programação Shell Script e 7 07-25-2006 12:04
dir comparação ajudar Ghazi Programação Shell Script e 5 12-20-2004 05:54
comparação cnf Filesystems, Discos e Memória 2 05-14-2002 02:52

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 07-25-2006
jerome Sukumar jerome Sukumar is offline
Usuário
  
 

Join Date: Jul 2006
Lugares: 22
Post Comparação de dois arquivos no awk

Oi,
Tenho dois arquivos ficheiro1 e ficheiro2 delimitada por ponto e vírgula,
E eu quero comparar a coluna 2 e column3 do ficheiro1 para column3 e 4 na coluna ficheiro2.

ficheiro1
--------
abc; CEF; 155,67; 143_34;
def; fgh; 146,55; 123,3;
FRG; hff; 134,67;
yyy; fgh; 134,78; 35_45;

arquivo 2
---------
abc; CEF; 155,09;
abc; CEF; 155,67; 143_34;
asd;;; 123;
def; fgh; 145,6; 123,3;
def; fgh; 146,55; 123,3;
FRG; hff; 134,67;

Successfile1
------------
abc; CEF; 155,67; 143_34;
def; fgh; 146,55; 123,3;

Failfile1
-----------
FRG; hff; 134,67;
yyy; fgh; 134,78; 35_45;

Alguém pode me ajudar com um script.
  #2 (permalink)  
Old 07-25-2006
girish.karulkar girish.karulkar is offline
Usuário
  
 

Join Date: Jul 2006
Posts: 4
Oi Jerome

Primeiro de tudo é ver WHT é col2 do arquivo 1 é texto & col3 de ficheiro2 é o número,
assim como ur indo para comparar?

mas você ainda pode usar um pouco dessa forma

#! / usr / bin / ksh

cut-d ""-f2 ficheiro1>> tmpf2.txt
echo
cut-d ";" ficheiro2-f3>> tmpf3.txt

diff tmpf2.txt tmpf3.txt

cut-d ""-f3 ficheiro1>> tmpf3.txt
echo
cut-d ""-f4 ficheiro2>> tmpf4.txt

diff tmpf3.txt tmpf4.txt

rm tmpf [0-9]. txt

  #3 (permalink)  
Old 07-25-2006
jerome Sukumar jerome Sukumar is offline
Usuário
  
 

Join Date: Jul 2006
Lugares: 22
rephrase

Desculpe Girish,

Tenho dado a coluna info erradamente,
Sua col3 e col4 de ficheiro1 para col3 e col4 de ficheiro2 comparação.
  #4 (permalink)  
Old 07-25-2006
grial's Avatar
Grial grial is offline Forum Advisor  
El UNIX é como um toro
  
 

Join Date: Jun 2006
Localização: Madrid (Espanha)
Lugares: 531
Talvez este seja o que quiser, mas não tenho certeza se eu tiver entendido você
Código:
#!/bin/bash

comp1=($(cat text1.txt | cut -d\; -f 3,4))
comp2=($(cat text2.txt | cut -d\; -f 3,4))

for str in ${comp1[*]}; do
   i=0
   while (( $i < ${#comp2[*]} )); do
      if [[ $str = ${comp2[i]} ]]; then
         cat text1.txt | grep $str
      fi
      (( i += 1 ))
   done
done
Atenciosamente.
  #5 (permalink)  
Old 07-25-2006
jerome Sukumar jerome Sukumar is offline
Usuário
  
 

Join Date: Jul 2006
Lugares: 22
Problema.

Oi Grial,
Obrigado por sua pronta e rápida resposta.

O script para comparação de duas obras cols ou seja, col 3 e col4 de dois arquivos.

Se eu tentar tentar comparar col3 de apenas dois arquivos,
Estou ficando redundante registros.

Ex.:
Minha ficheiro1 constituída de 100 registros e
ficheiro2 constituída de 238 records.If tento comparar, ficheiro1 e ficheiro2 Tenho 116 registros como o meu o / p
no console.Can u-me sugerir, a forma de corrigir esta situação.
  #6 (permalink)  
Old 07-25-2006
grial's Avatar
Grial grial is offline Forum Advisor  
El UNIX é como um toro
  
 

Join Date: Jun 2006
Localização: Madrid (Espanha)
Lugares: 531
Novamente, não sei se eu compreendi. Quer dizer que você poderia ter registros duplicados em ficheiro2? Ou, você quer somente a primeira ocorrência? Se este for o caso, tente:
Código:
#!/bin/bash

comp1=($(cat text1.txt | cut -d\; -f 3,4))
comp2=($(cat text2.txt | cut -d\; -f 3,4))

for str in ${comp1[*]}; do
   i=0
   while (( $i < ${#comp2[*]} )); do
      if [[ $str = ${comp2[i]} ]]; then
         cat text1.txt | grep $str
         break
      fi
      (( i += 1 ))
   done
done
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 03:43.


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