If your data is simple, i.e., just one-column text, and results -- only for eyes, i.e. look at screen on one-two-three pages/screens, maybe i'ts really enough to just sort that text files with and compare with that tools. I prefer meld. But actually your question sounds like SQL query. And, as for me, it's simple task for any SQL engine, but
sqlite3(1) is quite enough, and moreover it's the best for this random task because of it's flexible typing, i.e. you do not need to thoroughly define types for each columns for every such random task
https://sqlite.org/quirks.html.
So, my way for such task:
If we have two lists of names (here only last names for simplicity)
list1.txt
Code:
Nasirov
Ivanenko
Petrenko
Leschenko
Panchenko
Grygoruk
list2.txt
Code:
Ivanenko
Petrenko
Kuzmenko
Leschenko
Grygoruk
Benuk
The processing will look like this:
Creating database, tables and importing data
Code:
% sqlite3 lists.db
sqlite> create table list1 (name);
sqlite> create table list2 (name);
sqlite> .tables
list1 list2
sqlite> .import --csv list1.txt list1
sqlite> .import --csv list2.txt list2
sqlite> select * from list1 order by name;
Benuk
Grygoruk
Ivanenko
Leschenko
Nasirov
Panchenko
Petrenko
sqlite> select * from list2 order by name;
Androschuk
Benuk
Grygoruk
Ivanenko
Kuzmenko
Leschenko
Petrenko
Getting results:
blind0ne said:
... data that is present in one data set but not present in second...
Code:
sqlite> select * from list1 where name not in (select name from list2) order by name;
Nasirov
Panchenko
blind0ne said:
Code:
sqlite> select * from list2 where name not in (select name from list1) order by name;
Androschuk
Kuzmenko
Of course, it needs some familiarity with SQL. Way without typing, but clicking -- the same but with LibreOffice Base. Same questions, same way to answer them, but with mouse and GUI. Why I say maybe -- I can't show this way instantly. For me now L.O. Base is only for convenient display of results.