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
sammenligne filer prashanth.spl Shell Programmering og Scripting 0 06-18-2008 05:22 PM
sammenligne filer danabo Shell Programmering og Scripting 3 05-19-2008 01:09 PM
sammenligne to filer charandevu Shell Programmering og Scripting 7 03-30-2008 04:20 PM
Sammenlign to filer penfold Shell Programmering og Scripting 3 04-29-2005 12:04 AM
sammenligne filer og videre MizzGail UNIX for dummyer Spørgsmål & svar 2 04-25-2003 02:34 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 10-08-2008
amir07 amir07 is offline
Registreret Bruger
  
 

Join Date: Feb 2007
Stillinger: 37
Sammenlign to filer

Jeg har brug for at sammenligne to filer:
Grundlæggende har jeg en inddatafil fileA.
som skal sammenlignes med fileB ligger i / etc / lc / MBD directroy

Begge filformat er som:

abc01def: 10.80.11.123

Input filformat er:

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

Så efter sammenligning scriptet vil fortælle mig:
hvad der er blevet dupicate, og hvad der ikke overlappe.

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

Join Date: Dec 2007
Location: Home af 17-tiden verdensmester Boston Celtics
Stillinger: 1311
Wink Kan gøre en diff eller comm

Min præference er comm kommando. Fra manpages --

Code:
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.

Hvis du giver prøver af både filer, et eksempel kommando kunne oprettes.
  #3 (permalink)  
Old 10-08-2008
amir07 amir07 is offline
Registreret Bruger
  
 

Join Date: Feb 2007
Stillinger: 37
Thanks.,

Denne fremgangsmåde fungerer, og hvad tror du:

#! / bin / ksh
mens læse myline
gøre
cnt \u003d 0
mens læse linje
gøre
hvis [[ "$ myline" \u003d "$ line"]]

((cnt + \u003d 1))
brække
fi
gjort <file1
hvis [[$ cnt-eq 0]]

echo "$ myline">> output.file
fi
Udfærdiget <fil2
  #4 (permalink)  
Old 10-08-2008
amir07 amir07 is offline
Registreret Bruger
  
 

Join Date: Feb 2007
Stillinger: 37
Men problemet her er formoder, hvis jeg har en ekstra linje i en fil, er det ikke sammenligne. Indekset sammenligner kun med eksakte linje numre i hver fil.
  #5 (permalink)  
Old 10-08-2008
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Join Date: Mar 2005
Beliggenhed: blad node i B +-træ
Indlæg: 2.958
kan du prøve noget lignende,

[Ikke testet]


Code:
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
Registreret Bruger
  
 

Join Date: oktober 2008
Beliggenhed: Orem, Utah
Stillinger: 73
Sammenligningsvinduerne kommando synes ideel til dette. Især:


Code:
diff -y file1 file2

Dette vil give en side by side "-sammenligning. Manden side lister flere muligheder, end jeg har nogensinde drømt om at bruge, men-y synes at besvare dine behov.
  #7 (permalink)  
Old 10-09-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Indlæg: 4.342
Prøv dette, resultatet er lagret i filer dup_file og no_dup_file:


Code:
awk 'NR==FNR{a[$0]=$0;next}
$0 in a {print $0 > "dup_file";next}
{print $0 > "no_dup_file"}
' fileA fileB

Brug nawk eller / usr/xpg4/bin/awk på Solaris.

Hilsen
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 03:31 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