====== diff ====== * compare files in two directories, don't show common lines, output in 2 columns and ignore white space differences diff -y -b --suppress-common path1 path2 * compare all files recursively, excluding any with a .pdf extension, and only print file names that differ diff -r -q --exclude="*.pdf" path1 path2 * compare all files recursively, excluding any with a .pdf extension, and only print file names that differ, but suppress common subdirectory and Only in lines diff -r -q --exclude="*.pdf" path1 path2 | grep -v -E '^Common subdirectories|^Only in' ===== alternative output formats ===== * unified diff --unified file1.txt file2.txt * context diff --context file1.txt file2.txt ===== create patch file ===== * diff -Naur oldfile newfile > patchfile * then, to patch an original, copy the patchfile beside the file to be updated, and patch it like this patch -p0 < patchfile ===== count lines that are different ===== This outputs 2 columns, hiding lines that are the same, then pipes the result through the wc program with the flag to count newlines. diff -y --suppress-common-lines file1.txt file2.txt | wc -l ===== help ===== The diff utility has a man page, but the more comprehensive documentation is available in info format (info diff).