diff_notes
Table of Contents
ignore subdirectories
One way is to call diff without the –recursive (-r) option and use grep to filter out the unwanted messages:
% diff dir1 dir2 | grep -v "^Only in "
or
% diff -q dir1 dir2 | grep -v "^Only in "
See https://stackoverflow.com/questions/30446490/diff-only-compare-files-and-ignore-subdirectories/ for some sample tests using this idea.
diff word by word
git diff --word-diff --no-index -- foo bar
or
git diff -U0 --word-diff --no-index -- foo bar
You can run this command even if the files are not part of a git repository.
Ref:- https://unix.stackexchange.com/a/330807/198064
Related commands:
git diff --no-index --color-words -- foo bar
- to diff word by wordgit diff --no-index --color-words=. -- foo bar
- to diff character by character
head and diff
To diff headers of two files without creating any temporary files
% diff <(head -n 1 foo.20170102) <(head -n 1 foo.20170104)
ignore newline endings
tags | ignore line endings
diff --strip-trailing-cr file1 file2
$ diff --help | grep -i strip --strip-trailing-cr strip trailing carriage return on input
Ref:- https://stackoverflow.com/questions/40974170/how-can-i-ignore-line-endings-when-comparing-files
diff_notes.txt · Last modified: 2024/12/13 20:26 by raju