Charater comparison


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Charater comparison
# 1  
Old 01-10-2008
Charater comparison

I have two files.
Each file has one line with 2500 charaters in it and both lines should be the same, but thay are not.

I need to compare the two lines and find where the differences are. So what I need to do is compare each character one at a time to find out whats different.
Tornado
# 2  
Old 01-10-2008
This is what the line looks like, but it goes on and on and there is around 2500 characters.

timestamp locltime uptime state_D state_N state_n state_s state_r state_k state_c state_m state_d state_i state_t DNnsrkcmdit usr% sys% wio% idle% 1runq 5runq 15runq #proc #runque #waiting #swpque scanrate #proc/s #proc/p5s smtx smtx/cpu ncpus mntC_/ mntU_/ mntA_/ mntP_/ mntc_/ mntu_/ mnta_/ mntp_/ mntC_/var mntU_/var mntA_/var mntP_/var mntc_/var mntu_/var mnta_/var mntp_/var mntC_/export mntU_/export mntA_/export mntP_/export mntc_/export mntu_/export mnta_/export mntp_/export mntC_/export/install mntU_/export/install mntA_/export/install mntP_/export/install mntc_/export/install mntu_/export/install mnta_/export/install mntp_/export/install mntC_/export/patches mntU_/export/patches mntA_/export/patches mntP_/export/patches mntc_/export/patches mntu_/export/patches mnta_/export/patches mntp_/export/patches disk_runp_c1t0d0 disk_runp_c1t1d0 disk_runp_c5t60060E80047F150000007F1500000326d0 disk_runp_ssd5.fp1 disk_runp_c5t60060E80047F150000007F1500000325d0 disk_runp_ssd4.fp1 disk_runp_ssd5.fp0 disk_runp_ssd4.fp0 disk_runp_c0t0d0 disk_runp_c5t60060E80047F150000007F1500000326d0
Tornado
# 3  
Old 01-10-2008
script name cdiff (charater diff)
file1 = This is just a very short test file
file2 = This is Just a verry shirt test file

This is an example of how I want the output to look.

# cdiff file1 file2
This is Just a verry shirt test file
#

So the output is file2 printed out with any different characters highlighted.
Tornado
# 4  
Old 01-11-2008
Code:
awk 'BEGIN{}
FNR==NR{
 for (i=1;i<=NF;i++){
  a[i] = $i
 }
 next
} 
{
  for ( j=1;j<=i;j++ ){
    
    if ( a[j] != $j ) {
        print "a: " $j " b: " a[j]
        # do somemore checking characters by characters.
    } 
  }
}
' "file1" "file2"

output:
Code:
 # ./testnew.sh
a: Just b: just
a: verry b: very
a: shirt b: short

# 5  
Old 01-11-2008
Thanks for that, its not the output I was after, but it has helped me find the problem...

FYI this is the output I get when I run it.

-bash-3.00$ ksh cdiff
a: disk_runp_c5t60060E80047F150000007F1500000326d0 b: disk_peak
a: disk_runp_c5t60060E80047F150000007F1500000325d0 b: disk_mean
a: disk_peak b: disk_rd/s
a: disk_mean b: disk_wr/s
a: disk_rd/s b: disk_rK/s
a: disk_wr/s b: disk_wK/s
a: disk_rK/s b: tape_rd/s
a: disk_wK/s b: tape_wr/s
a: tape_rd/s b: tape_rK/s
a: tape_wr/s b: tape_wK/s
a: tape_rK/s b: swap_avail
a: tape_wK/s b: page_rstim
a: swap_avail b: freememK
a: page_rstim b: free_pages
a: freememK b: bge0/0Ipkt/s
a: free_pages b: bge0/0Opkt/s
a: bge0/0Ipkt/s b: bge0/0InKB/s
a: bge0/0Opkt/s b: bge0/0OuKB/s
a: bge0/0InKB/s b: bge0/0IErr/s
a: bge0/0OuKB/s b: bge0/0OErr/s
a: bge0/0IErr/s b: bge0/0Coll%
a: bge0/0OErr/s b: bge0/0NoCP/s
a: bge0/0Coll% b: bge0/0Defr/s
a: bge0/0NoCP/s b: bge0Ipkt/s
a: bge0/0Defr/s b: bge0Opkt/s
a: bge0Ipkt/s b: bge0InKB/s
a: bge0Opkt/s b: bge0OuKB/s
a: bge0InKB/s b: bge0IErr/s
a: bge0OuKB/s b: bge0OErr/s
a: bge0IErr/s b: bge0Coll%
a: bge0OErr/s b: bge0NoCP/s
a: bge0Coll% b: bge0Defr/s
a: bge0NoCP/s b: bge2/0Ipkt/s
a: bge0Defr/s b: bge2/0Opkt/s
a: bge2/0Ipkt/s b: bge2/0InKB/s
a: bge2/0Opkt/s b: bge2/0OuKB/s
a: bge2/0InKB/s b: bge2/0IErr/s
a: bge2/0OuKB/s b: bge2/0OErr/s
a: bge2/0IErr/s b: bge2/0Coll%
a: bge2/0OErr/s b: bge2/0NoCP/s
a: bge2/0Coll% b: bge2/0Defr/s
a: bge2/0NoCP/s b: bge1/0Ipkt/s
a: bge2/0Defr/s b: bge1/0Opkt/s
a: bge1/0Ipkt/s b: bge1/0InKB/s
a: bge1/0Opkt/s b: bge1/0OuKB/s
a: bge1/0InKB/s b: bge1/0IErr/s
a: bge1/0OuKB/s b: bge1/0OErr/s
a: bge1/0IErr/s b: bge1/0Coll%
a: bge1/0OErr/s b: bge1/0NoCP/s
a: bge1/0Coll% b: bge1/0Defr/s
a: bge1/0NoCP/s b: bge3/0Ipkt/s
a: bge1/0Defr/s b: bge3/0Opkt/s
a: bge3/0Ipkt/s b: bge3/0InKB/s
a: bge3/0Opkt/s b: bge3/0OuKB/s
a: bge3/0InKB/s b: bge3/0IErr/s
a: bge3/0OuKB/s b: bge3/0OErr/s
a: bge3/0IErr/s b: bge3/0Coll%
a: bge3/0OErr/s b: bge3/0NoCP/s
a: bge3/0Coll% b: bge3/0Defr/s
a: bge3/0NoCP/s b: tcp_Iseg/s
a: bge3/0Defr/s b: tcp_Oseg/s
a: tcp_Iseg/s b: tcp_InKB/s
a: tcp_Oseg/s b: tcp_OuKB/s
a: tcp_InKB/s b: tcp_Ret%
a: tcp_OuKB/s b: tcp_Dup%
a: tcp_Ret% b: tcp_Icn/s
a: tcp_Dup% b: tcp_Ocn/s
a: tcp_Icn/s b: tcp_estb
a: tcp_Ocn/s b: tcp_Rst/s
a: tcp_estb b: tcp_Atf/s
a: tcp_Rst/s b: tcp_Ldrp/s
a: tcp_Atf/s b: tcp_LdQ0/s
a: tcp_Ldrp/s b: tcp_HOdp/s
a: tcp_LdQ0/s b: nfs_call/s
a: tcp_HOdp/s b: nfs_timo/s
a: nfs_call/s b: nfs_badx/s
a: nfs_timo/s b: nfss_calls
a: nfs_badx/s b: nfss_bad
a: nfss_calls b: v2reads
a: nfss_bad b: v2writes
a: v2reads b: v3reads
a: v2writes b: v3writes
a: v3reads b: dnlc_ref/s
a: v3writes b: dnlc_hit%
a: dnlc_ref/s b: inod_ref/s
a: dnlc_hit% b: inod_hit%
a: inod_ref/s b: inod_stl/s
a: inod_hit% b: pp_kernel
a: inod_stl/s b: pagesfree
a: pp_kernel b: pageslock
a: pagesfree b: pagestotl
a: pageslock b: #httpds
a: pagestotl b: #httpsds
a: #httpds b: httpop/s
a: #httpsds b: http/p5s
a: httpop/s b: cndget/s
a: http/p5s b: search/s
a: cndget/s b: cgi/s
a: search/s b: htErr/s
a: cgi/s b: httpb/s
a: htErr/s b: %to1KB
a: httpb/s b: %to10KB
a: %to1KB b: %to100KB
a: %to10KB b: %to1MB
a: %to100KB b: %over1MB
a: %to1MB b: NoGatway
a: %over1MB b:
-bash-3.00$
Tornado
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help about comparison

Hello folks, I have two files, which have usernames, I want to see the contents of file1.txt which is missing in file2.txt and another comparison file2.txt contents which is missing in file1.txt. please suggest. file1.txt user u2 u8 a9 p9 p3 u4 z8 aaa ahe oktlo (7 Replies)
Discussion started by: learnbash
7 Replies

2. Shell Programming and Scripting

Error in Comparison value

Hi I have written below Script IFS=: while read emp_id_ name manager department; do echo "$emp_id_"; count=`sqlplus -s sys/orcl as sysdba << EOF select count(*) from employee where emp_id = ('$emp_id_'); exit; EOF`; echo "$count" ; if ; then echo "data exist" else echo "not exist" ; fi;... (3 Replies)
Discussion started by: Rushab
3 Replies

3. UNIX for Dummies Questions & Answers

date comparison

Hi friends, I would like to compare two dates in an IF statement. This is what I am trying, but it doesn't work. date=20120122 minus=6 if ; then ... fi what would the IF clause looks like? Thanks! :) (5 Replies)
Discussion started by: kokoro
5 Replies

4. UNIX for Dummies Questions & Answers

comparison

hi guys i need a program that can compare a value read from a com-port and one from the terminal. can somebody help me??? using linux kernel 2.6.14-M5 can only use standard function in sh and bash... (5 Replies)
Discussion started by: metal005
5 Replies

5. Shell Programming and Scripting

$((...)) and $[...] comparison

Does $((mathematical expression)) and $ mean the same? (7 Replies)
Discussion started by: proactiveaditya
7 Replies

6. Shell Programming and Scripting

need some help..Comparison

I need some help which would probably be for most of you a simple script. I need to read in the data from a .dat file and then compare avg to see who is the highest avg. Here is my script so far. #!/bin/ksh #reading in the data from lab3.dat filename=$1 while read name o1 o2 o3 o4 o5 o6... (0 Replies)
Discussion started by: bluesilo
0 Replies

7. UNIX for Dummies Questions & Answers

Inserting a delimiter after certain charater position

Hi, I have a string : - ICFFHASMTAAMPFINCL22082006000002548789632 and i want to add delimiter after certain charater position through a script, eg. ICFFH,ASMTAAMPF,INCL,22082006,000002548789632. I have tried and am able to achieve it through cut-paste. But i don't want to use cut paste as it... (6 Replies)
Discussion started by: divz
6 Replies

8. Shell Programming and Scripting

running an Acii charater in a script.

Hi, I need to pass a space bar or an enter key in a script for it to return control to my script. How do I do this. For example the spacebar ascii value is 127, how do I tell the script to run this command. (4 Replies)
Discussion started by: quispiam
4 Replies

9. Shell Programming and Scripting

replacing charater

I need a help here. My administrator made some changes and we couldn't access some files any more. I am trying to replace a list of files from one format to another. Can anyone help me please? Here is an example of aaa_bbbb_cccccc.03172002_02:30:08 How can I replace the ':' with... (3 Replies)
Discussion started by: odogbolu98
3 Replies

10. Filesystems, Disks and Memory

comparison

can anyone point me to a comparison of *nix file systems ? i think i prefer a journalling fs but i would like to see a comparison between several fs's before i make up my mind (2 Replies)
Discussion started by: cnf
2 Replies
Login or Register to Ask a Question