diff is an acronym for the difference. It is a useful command used to compare the differences between files based on the lines of the file.
This command just tells us which line to change in the file to make the 2 files the same. To be more precise, it creates a list of changes in the first file to match the second file.
This tutorial will guide you on how to compare two text files by the diff command in Linux as you go through below.
$ diff [options] file1 file2
You need to remember some special symbols of diff:
a: add
c: change
d: delete
For example, I have 2 files a.txt and b.txt
Now we will try to use the diff command with these 2 files:
$ diff a.txt b.txt
Output:
This command will print out:
Definition:
0a1,2 means from line 0 you need to add Malaysia and Campuchia to lines 1, 2 of the first file.
3,5c5 means from line 3 to line 5 of the first file you need to change it to match line 5 of the second file.
— to separate line 1 from line 2.
1. -c (context): Provides context to easily spot the differences
We will apply with files a.txt and b.txt:
$ diff -c a.txt b.txt
Output:
*** to specify the first file
— to specify the second file
+ to specify lines that need to add to the first file
! to specify lines that changed
2. -u (unified): To check differences in unified mode
$ diff -u a.txt b.txt
Output:
— to specify the first file
+++ to specify the second file
@@ mark the beginning of changes and which line of each file
3. -i: To case sensitive
For example, I have 2 files a.txt and b.txt
Now we will try to use the diff command with -i option with these 2 files:
$ diff -i a.txt b.txt
Output:
4. –version: Check your version
$ diff --version
Output:
In this article, we guided you on how to compare two text files by the diff command in Linux.
Thanks for reading!
Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications including CCNA RS, SCP, and ACE. As an IT engineer and technical author, he writes for various websites.
One of the most critical gaps in traditional Large Language Models (LLMs) is that they…
Canonical is continuously hiring new talent. Being a remote- first company, Canonical’s new joiners receive…
What is patching automation? With increasing numbers of vulnerabilities, there is a growing risk of…
Wouldn’t it be wonderful to wake up one day with a desire to explore AI…
Ubuntu and Ubuntu Pro supports Microsoft’s Azure Cobalt 100 Virtual Machines (VMs), powered by their…
Welcome to the Ubuntu Weekly Newsletter, Issue 870 for the week of December 8 –…