How do you diff a directory for only files of a specific type?

You can specify -x more than once.

diff -x '*.foo' -x '*.bar' -x '*.baz' /destination/dir/1 /destination/dir/2

From the Comparing Directories section of info diff (on my system, I have to do info -f /usr/share/info/diff.info.gz):

To ignore some files while comparing directories, use the ‘-x
PATTERN’ or ‘–exclude=PATTERN’ option. This option ignores any files
or subdirectories whose base names match the shell pattern PATTERN.
Unlike in the shell, a period at the start of the base of a file name
matches a wildcard at the start of a pattern. You should enclose
PATTERN in quotes so that the shell does not expand it. For example,
the option -x ‘*.[ao]’ ignores any file whose name ends with ‘.a’ or
‘.o’.

This option accumulates if you specify it more than once. For
example, using the options -x ‘RCS’ -x ‘*,v’ ignores any file or
subdirectory whose base name is ‘RCS’ or ends with ‘,v’.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)