Display lines from file1 that are not in file2


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Display lines from file1 that are not in file2
# 1  
Error Display lines from file1 that are not in file2

Hi there,

I know the command diff but what I want is slightly different.
I have two files containing lines that look like md5sums.

file1
Code:
5a1e8cee2eb2157c86e7266ee38e47c3  /tmp/file1
a254c48bdd064a40b82477b9fa5be05d  /tmp/file2
2d57c72ec898acddf8a6bacb3f821572  /tmp/file3
335b92f62ad1f2627806d55fb71dd573  /tmp/file4

file2
Code:
5a1e8cee2eb2157c86e7266ee38e47c3  /tmp/file1
5365eed4fd479dbee61146548b02247a  /tmp/file2
b05b600288d4adba461bf8f32b6161a2  /tmp/file2
4853428d204c2c9a4d49d7eaea549cc8  /tmp/file3
2d57c72ec898acddf8a6bacb3f821572  /tmp/file3
d5c5a0927f5fb67c15af1497457126f8  /tmp/file4
4c5c81b31bbc752b7d89735bda996652  /tmp/file4

I highlighted in red lines from file1 that exist in file2 and I would like a command that display the lines in file1 that do NOT appear in file2. In my example, it would be:
Code:
a254c48bdd064a40b82477b9fa5be05d  /tmp/file2
335b92f62ad1f2627806d55fb71dd573  /tmp/file4

Can you help me?
Cheers
Santiago
# 2  
Code:
 comm -23 <(sort file1) <(sort file2)

I hope you don't care about lines' ordering.
# 3  
Something like this?
Code:
awk 'NR==FNR{a[$0];next} !($0 in a) ' file2 file1

# 4  
Code:
  awk 'BEGIN { while (getline<"file2") { arr[$0]++}} { if(!($0 in arr)) {print}}'  file1

That is the code almost like that of Franklin ....
# 5  
Code:
grep -vf file2 file1

# 6  
Code:
awk 'NR==FNR{a[$0]++;next} !a[$0] ' file2 file1

Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #491
Difficulty: Easy
In general, interpreted languages are slower than compiled languages.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Compare file1 and file2, print matching lines in same order as file1

I want to print only the lines in file2 that match file1, in the same order as they appear in file 1 file1 file2 desired output: I'm getting the lines to match awk 'FNR==NR {a++}; FNR!=NR && a' file1 file2 but they are in sorted order, which is not what I want: Can anyone... (4 Replies)
Discussion started by: pathunkathunk
4 Replies

2. Shell Programming and Scripting

Help with Shell Script to identify lines in file1 and write them to file2

Hi, I am running my pipeline and capturing all stout from multiple programs to a .txt file. I want to go into that .txt file and search for specific lines, and finally print those lines in a second .txt file. I can do this using grep, awk, or sed for each line, but have not been able to get... (2 Replies)
Discussion started by: hmortens
2 Replies

3. Shell Programming and Scripting

Match single line in file1 to groups of lines in file2

I have two files. File 1 is a two-column index file, e.g. comp11084_c0_seq6:130-468(-) comp12746_c0_seq3:140-478(+) comp11084_c0_seq3:201-539(-) comp12746_c0_seq2:191-529(+) File 2 is a sequence file with headers named with the same terms that populate file 1. ... (1 Reply)
Discussion started by: pathunkathunk
1 Replies

4. Shell Programming and Scripting

Looking for lines, which is present in file1 but not in file2 using UNIX and awk

I have 2 files with 7 fields and i want to print the lines which is present in file1 but not in file2 based on field1 and field2. Logic: I want to print all the lines, where there is a particular column1 and column2. And we do not find the set of column1 and column2 in file2. Example: "sc2/10... (3 Replies)
Discussion started by: NamS
3 Replies

5. Shell Programming and Scripting

Based on column in file1, find match in file2 and print matching lines

file1: file2: I need to find matches for any lines in file1 that appear in file2. Desired output is '>' plus the file1 term, followed by the line after the match in file2 (so the title is a little misleading): This is honestly beyond what I can do without spending the whole night on it, so I'm... (2 Replies)
Discussion started by: pathunkathunk
2 Replies

6. UNIX for Dummies Questions & Answers

if matching strings in file1 and file2, add column from file1 to file2

I have very limited coding skills but I'm wondering if someone could help me with this. There are many threads about matching strings in two files, but I have no idea how to add a column from one file to another based on a matching string. I'm looking to match column1 in file1 to the number... (3 Replies)
Discussion started by: pathunkathunk
3 Replies

7. Shell Programming and Scripting

Remove lines in file1 with values from file2

Hello, I have two data files: file1 12345 aa bbb cccc 98765 qq www uuuu 76543 pp rrr bbbbb 34567 nn ccc sssss 87654 qq ppp rrrrr file2 98765 34567 I need to remove the lines from file1 if the first field contains a value that appears in file2: output 12345 aa bbb cccc 76543 pp... (2 Replies)
Discussion started by: palex
2 Replies

8. Shell Programming and Scripting

awk/sed search lines in file1 matching columns in file2

Hi All, as you can see I'm pretty new to this board. :D I'm struggling around with small script to search a few fields in another file. Basically I have file1 looking like this: 15:38:28 sz:10001 pr:14.16 15:38:28 sz:10002 pr:18.41 15:38:29 sz:10003 pr:19.28 15:38:30 sz:10004... (1 Reply)
Discussion started by: floripoint
1 Replies

9. Shell Programming and Scripting

extracting lines from a file1 which maches a pattern in file2

Hi guys, Can you help me in solving ths problem? I have two files file1 and file2 as following: ===FILE1==== >LOC21 MASSKFCTVLSLALFLVLLTHANSAELFSFNFQTFNAANLILQGNASVSSSGQLRLTEVKSNGEPKVASL VASFATAFTFNILAPILSNSADGLAFALVPVGSQPKFNGGFLGLFQNVTYDP >LOC05... (11 Replies)
Discussion started by: smriti_shridhar
11 Replies

10. Shell Programming and Scripting

delete lines from file2 beginning w/file1

I've been searching around here and other places, but can't put this together... I've got a unique list of words in file 1 (one word on each line). I need to delete each line in file2 that begins with the word in file1. I started this way, but want to know how to use file1 words instead... (13 Replies)
Discussion started by: michieka
13 Replies

Featured Tech Videos