#!/bin/sh function diff_no_links() { local FIND="/usr/bin/find" local SED="/bin/sed" local CAT="/bin/cat" local TR="/usr/bin/tr" local SORT="/usr/bin/sort" local SRC=$1 local DST=$2 local SRC_SYMS="${FIND} \"${SRC}\" -type l -exec basename {} \;" local DST_SYMS="${FIND} \"${DST}\" -type l -exec basename {} \;" local ALL_SYMS="${CAT} <(${SRC_SYMS}) <($DST_SYMS) | ${SORT} -u" local EXCLUDES="${ALL_SYMS} | ${SED} 's/^/ -x /' | ${TR} -d '\n'" diff -Naur `eval ${EXCLUDES}` "${SRC}" "${DST}" return $? } test "X$(basename -- "$0")" = "Xdiff_no_links" && diff_no_links "$@" # vim: set ft=sh ts=4 sw=4: