给定两个根文件夹 A 和 B,
如何在 A 和 B 的子文件夹之间找到重复的文本文件?
换句话说,我正在考虑 A 和 B 的文件的交集。
我不想在 A 或 B 中查找重复的文件,而只想在 A 和 B 中查找文件。
edit
重复是指具有相同内容的文件
comm -1 -2 <(ls dir1 | sort) <(ls dir2 | sort)
f1
ls -1 dir1
f1
f2
f3
ls -1 dir2
f1
f4
f5
comm -1 -2 <(ls dir1 | sort) <(ls dir2 | sort)
f1
#If not on bash,then
bash -c 'comm -1 -2 <(ls dir1 | sort) <(ls dir2 | sort)'
或者使用查找。
find dir1 dir2 -type f -ls | awk -F'/' 'N[$2]++ {print $NF}'
f1
或者完整路径
find dir1 dir2 -type f -ls | awk '{print $NF}' | awk -F'/' 'N[$2]++'
dir2/f1
用于查找内容上的重复项。
files1=(dir1/*)
files2=(dir2/*)
for item1 in ${files1[*]}
do
ck1=$(cksum $item1 |awk '{print $1}')
for item2 in ${files2[*]}
do
ck2=$(cksum $item2 |awk '{print $1}')
if [ "$ck1" == "$ck2" ];then
echo "Duplicate entry found for $item1 and $item2"
fi
done
done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)