diff <(grep -v '^#' f1) <(grep -v '^#' f2)
Избегать пустых строк и строк, содержащих только, располагает с интервалами, в дополнение к идентичным строкам, которые имеют единственное различие добавленных ведущих пробелов...
diff -b \
<(grep -vE '^([ \t]*#|^[ \t]*$)' f1)\
<(grep -vE '^([ \t]*#|^[ \t]*$)' f2)
Этой точкой, хотя, я, вероятно, поместил это в сценарий и пишу что-то как исходное предложение, что это немного более читаемо.