我正在寻找一种简单的方法来if
声明条件是给定目录中的 2 个最新文件(递归)是否在内容上相同。
问问题
724 次
1 回答
0
在不解析的情况下比较 bash 目录中包含的文件的一种方法ls
是:
unset -v penultimate ## one before newest
unset -v latest ## newest
for file in "$dirname"/*; do
[[ $file -nt $latest ]] && penultimate="$latest" && latest="$file"
done
if [[ -f $latest ]] && [[ -f $penultimate ]]; then
if diff -q "$penultimate" "$latest" ; then
printf "Files '%s' and '%s' are identical\n" "$penultimate" "$latest"
fi
fi
注意:如果文件不同,默认行为diff -q
将输出:Files '%s' and '%s' differ\n" "$penultimate" "$latest"
. 另请注意,上面比较了 2 个文件的存在,而不是最新的两个文件中的任何一个是否是符号链接。它进一步不比较给定目录的子目录的内容。
于 2015-11-28T09:32:46.423 回答