The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
har brug for hjælp .. Sammenligning bluesilo Shell Programmering og Scripting 0 02-23-2008 04:43 PM
Sammenligning af 2 filer i UNIX Dana Evans UNIX for dummyer Spørgsmål & svar 32 11-21-2007 07:05 AM
String Sammenligning mellem to filer ved hjælp awk rudoraj Shell Programmering og Scripting 7 07-25-2006 12:04 PM
dir sammenligning hjælpe Ghazi Shell Programmering og Scripting 5 12-20-2004 05:54 PM
sammenligning CNF Filsystemer, disketter og Hukommelse 2 05-14-2002 02:52 PM

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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 07-25-2006
jerome Sukumar jerome Sukumar is offline
Registreret Bruger
  
 

Join Date: Jul 2006
Stillinger: 22
Post Sammenligning af de to filer i awk

Hej,
Jeg har to filer fil1 og fil2 er afgrænset af semikolon,
Og jeg ønsker at sammenligne kolonne 2 og kolonne 3 i fil1 til kolonne3 og kolonne 4 i fil2.

file1
--------
ABC; CEF, 155,67, 143_34;
def; fgh, 146,55, 123,3;
FRG; HFF, 134,67;;
yyy; fgh, 134,78, 35_45;

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

Kan nogen hjælpe mig med et script.
  #2 (permalink)  
Old 07-25-2006
girish.karulkar girish.karulkar is offline
Registreret Bruger
  
 

Join Date: Jul 2006
Stillinger: 4
Hi Jerome

Først og fremmest wht er se er col2 af fil 1 er tekst & col3 for fil2 er nummer,
så hvordan ur vil sammenligne?

men du kan bruge lidt på denne måde

#! / usr / bin / ksh

cut-d ";"-F2 fil1>> tmpf2.txt
echo
cut-d ";"-f3 fil2>> tmpf3.txt

diff tmpf2.txt tmpf3.txt

cut-d ";"-f3 fil1>> tmpf3.txt
echo
cut-d ";"-F4 fil2>> tmpf4.txt

diff tmpf3.txt tmpf4.txt

rm tmpf [0-9]. txt

  #3 (permalink)  
Old 07-25-2006
jerome Sukumar jerome Sukumar is offline
Registreret Bruger
  
 

Join Date: Jul 2006
Stillinger: 22
rephrase

Desværre Girish,

Jeg har givet de kolonne info urette,
Dens col3 og col4 af fil1 til col3 og col4 for fil2 sammenligning.
  #4 (permalink)  
Old 07-25-2006
grial's Avatar
grial grial is offline Forum Advisor  
El UNIX es como un Toro
  
 

Join Date: Jun 2006
Beliggenhed: Madrid (Spanien)
Posts: 531
Måske er det hvad du vil, men jeg er ikke sikker på, hvis jeg har forstået jer

Code:
#!/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

Hilsen.
  #5 (permalink)  
Old 07-25-2006
jerome Sukumar jerome Sukumar is offline
Registreret Bruger
  
 

Join Date: Jul 2006
Stillinger: 22
Problem.

Hi Grial,
Tak for dit hurtige og hurtig respons.

Scriptet arbejder for at sammenligne to kolonner sige, col 3 og col4 af to filer.

Hvis jeg forsøger at forsøge at sammenligne kun col3 af to filer,
Jeg får overflødige poster.

Fx:
Min fil1 består af 100 journaler og
fil2 består af 238 records.If jeg forsøger at sammenligne, fil1 og fil2 jeg fik 116 poster, som min o / p
i console.Can u viser mig, hvordan man kan rette op på dette.
  #6 (permalink)  
Old 07-25-2006
grial's Avatar
grial grial is offline Forum Advisor  
El UNIX es como un Toro
  
 

Join Date: Jun 2006
Beliggenhed: Madrid (Spanien)
Posts: 531
Igen, jeg ved ikke, om jeg har forstået. Mener du, du kunne have dubletter på fil2? Eller Ønsker du kun den første forekomst? Hvis dette er tilfældet, kan du prøve:

Code:
#!/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

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 01:27 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0