Sponsored Content
Top Forums Shell Programming and Scripting Compare lines between two files Post 302977985 by Priya Amaresh on Monday 25th of July 2016 05:04:47 AM
Old 07-25-2016
Compare lines between two files

I have two files
I need to compare these two files and take the lines that are common in both the files and consider the line present in second file for my further processing
I have used "Awk" along with "FNR and NR" but that is not working
Code:
      gawk -F= '
>     FNR==NR {a[NR]=$1; next};
>     {b[$1]=$0}
>     END{for (i in a) if (a[i] in b) print b[a[i]]}
> ' executed.txt org_sysctl.txt

The two files are
Code:
root@39da864625c7:/home# cat executed.txt
d.cdrom.124=1
d.cdrom.12=0
d.cdrom.122=0
d.cdrom.34=0
d.cdrom.lo=0

root@39da864625c7:/home# cat org_sysctl.txt
d.cdrom.124 = 1
d.cdrom.12 = 600
d.cdrom.122 = 400
d.cdrom.34 = 200
d.cdrom.lo = 100
v.pet = 0
v.static = 1
v.swappy = 60
v.user = 124270
v.vfs = 100
v.done = 0

I want the output as the following
Code:
d.cdrom.124 = 1
d.cdrom.12 = 600
d.cdrom.122 = 400
d.cdrom.34 = 200
d.cdrom.lo = 100

Please help Smilie




Moderator's Comments:
Mod Comment Please use code tags for data and (desired) output as well!
And, did you care to read your post after posting? Were you aware that HTML code - whereever it came from - rendered it almost unreadable?

Last edited by RudiC; 07-25-2016 at 06:19 AM.. Reason: Removed (what I think is) useless HTML code in front of gawk command, added code tags
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Trying to compare lines in 2 files

Hello, I am new to scripting and need some help. In looking at other posts on this forum, I came up with the following logic. I cannot figure out why I am getting names of files of the current directory in my echo output. Scenario: message file has a line containing the version. Version.txt... (2 Replies)
Discussion started by: brdholman
2 Replies

2. Shell Programming and Scripting

compare files by lines and columns

Dear All, Is it possible to compare 2 files line to line using column values? for example I have file1: 1;givi;01012000;wer 2;sss;02012000;rrr 3;ccc;03012000;ttt file 2: 0;uuu;01012000;lll 1;givi;01012000;wer 2;sss;02012000;rrr 3;ccc;03012000;ttt 5;givi;01012000;hhh I want... (4 Replies)
Discussion started by: giviut
4 Replies

3. Shell Programming and Scripting

compare two files and to remove the matching lines on both the files

I have two files and need to compare the two files and to remove the matching lines from both the files (4 Replies)
Discussion started by: shellscripter
4 Replies

4. Shell Programming and Scripting

Compare lines in two files (Memory getting exhausted)

Hi, Could someone please help me with the best approach to compare lines from one file to another? Here is how I have entries - File 1 a1 a2 a3 a4 a9 a10 a15 File2 a5 a6 a15 (5 Replies)
Discussion started by: sncoupons
5 Replies

5. Shell Programming and Scripting

compare files and then remove some lines

Hi everyone I have a dilemma and I'm hoping someone has an answer for me. I have two files: # cat masterfile line3 line4 line5 line6 line7 # cat tempfile line1 line2 line3 line4 I want to compare tempfile with masterfile. (3 Replies)
Discussion started by: soliberus
3 Replies

6. Shell Programming and Scripting

Compare 2 files, 2 lines at a time

Hi Guys, I want to find any differences between packages installed on 2 servers/zones. I have 2 files that contain the output from pkginfo -x . I want to know if any packages exist only in one file and I want to also know about any packages that exist in both but with a different version. ie:... (8 Replies)
Discussion started by: Tornado
8 Replies

7. Shell Programming and Scripting

Compare files by lines and columns

Inspired by the extremely short awk code from Ygor on this post I wanted to compare two files on only one field. I can't get it to work. Can anybody help on explaining the code and fix the code? My code which does not work: awk 'BEGIN{a=1};a!=1' file1.txt file2.txt >outfile.txt file1.txt... (1 Reply)
Discussion started by: sdf
1 Replies

8. Shell Programming and Scripting

Compare two files with repeated lines

Hi all, I've been trying to write a script to compare two files. This is what I want: file 1: a 1 2 b 5 9 c 4 7 file 2: a a c a b Output: a 1 2 a 1 2 (2 Replies)
Discussion started by: ernesto561
2 Replies

9. UNIX for Dummies Questions & Answers

Compare lines in 2 files

I have 2 files with exactly the same information (with header and separated by ";") and what I would like to do is print (for both files!) the columns that are different and also print the "key" column that is equal in the 2 files For example, if File1: key1;aaa;bbb;ccc key2;ddd;eee;fff... (4 Replies)
Discussion started by: mvalonso
4 Replies

10. Shell Programming and Scripting

Compare two files and lines which are the same just delete it

I am having a two files and different days, and this is example: file1: 06.09.2017. abcd 123 file2: 07.09.2017. abcd 1234 So what I want is that file2 with today's date contains only 1234, so where is a problem you would ask? Problem is here that I put these commands into routers,. and... (3 Replies)
Discussion started by: tomislav91
3 Replies
DIFF(1) 						      General Commands Manual							   DIFF(1)

NAME
diff - differential file comparator SYNOPSIS
diff [ -acefmnbwr ] file1 ... file2 DESCRIPTION
Diff tells what lines must be changed in two files to bring them into agreement. If one file is a directory, then a file in that directory with basename the same as that of the other file is used. If both files are directories, similarly named files in the two directories are compared by the method of diff for text files and cmp(1) otherwise. If more than two file names are given, then each argument is compared to the last argument as above. The -r option causes diff to process similarly named subdirectories recursively. When processing more than one file, diff prefixes file differences with a single line listing the two differing files, in the form of a diff command line. The -m flag causes this behavior even when processing single files. The normal output contains lines of these forms: n1 a n3,n4 n1,n2 d n3 n1,n2 c n3,n4 These lines resemble ed commands to convert file1 into file2. The numbers after the letters pertain to file2. In fact, by exchanging `a' for `d' and reading backward one may ascertain equally how to convert file2 into file1. As in ed, identical pairs where n1 = n2 or n3 = n4 are abbreviated as a single number. Following each of these lines come all the lines that are affected in the first file flagged by `<', then all the lines that are affected in the second file flagged by `>'. The -b option causes trailing blanks (spaces and tabs) to be ignored and other strings of blanks to compare equal. The -w option causes all white-space to be removed from input lines before applying the difference algorithm. The -n option prefixes each range with file: and inserts a space around the a, c, and d verbs. The -e option produces a script of a, c and d commands for the editor ed, which will recreate file2 from file1. The -f option produces a similar script, not useful with ed, in the opposite order. It may, however, be useful as input to a stream-oriented post-processor. The -c option includes three lines of context around each change, merging changes whose contexts overlap. The -a flag displays the entire file as context. Except in rare circumstances, diff finds a smallest sufficient set of file differences. FILES
/tmp/diff[12] SOURCE
/src/cmd/diff SEE ALSO
cmp(1), comm(1), ed(1) DIAGNOSTICS
Exit status is the empty string for no differences, for some, and for trouble. BUGS
Editing scripts produced under the -e or -f option are naive about creating lines consisting of a single `.'. When running diff on directories, the notion of what is a text file is open to debate. DIFF(1)
All times are GMT -4. The time now is 06:47 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy