Home > Enterprise >  Compare what lines are missing in two files
Compare what lines are missing in two files

Time:01-13

I have two files file1.txt and file2.txt

cat file1.txt

home/user/city/a/1.txt
home/user/state/b/2.txt
home/user/county/d/4.txt

cat file2.txt

/home/user/city/a/1.txt
/home/user/state/b/2.txt
/home/user/county/c/3.txt

I am trying to figure what *.txt files are missing by comparing both the files and printing the full path of the missing file.

Expected output

/home/user/county/c/3.txt
/home/user/county/d/4.txt

CodePudding user response:

comm -3 <(sed 's/^/\//' file1.txt | sort) <(sort file2.txt) | awk '{print $1$2}'

CodePudding user response:

Try diff. It tells you that you have a changed line 2 (2c2) and gives you the corresponding lines as output.

% diff <(sort file1 | sed 's/^/\//') <(sort file2)  
2c2
< /home/user/county/d/4.txt
---
> /home/user/county/c/3.txt
  •  Tags:  
  • Related