可以使用diff命令进行比较,先将两个文件的内容分别输出到临时文件中,再使用diff比较这两个临时文件的差异。下面是代码示例:
# 比较 $HOME/.zshrc 和 /etc/skel/.zshrc 的差异
tmp1=$(mktemp)
tmp2=$(mktemp)
cat $HOME/.zshrc > $tmp1
cat /etc/skel/.zshrc > $tmp2
diff $tmp1 $tmp2
rm -f $tmp1 $tmp2
如果需要比较目录下所有同名类型文件的差异,可以使用以下代码:
# 比较 $HOME 和 /etc/skel 目录下所有同名类型文件的差异
dir1=$HOME
dir2=/etc/skel
filetype=".zshrc"
for f in $(find $dir1 -name "*$filetype" -type f); do
f2=$(echo $f | sed "s|$dir1|$dir2|")
if [ -f $f2 ]; then
echo "Comparing $f and $f2:"
diff $f $f2
fi
done
下一篇:比较来自API的日期字符串