Você pode usar find
para listar o número de inode de todos os arquivos nos diretórios que possuem mais de 1 link, depois classificar o resultado e extrair as linhas nas quais o mesmo inode aparece mais de uma vez. Obviamente, os diretórios devem estar no mesmo sistema de arquivos:
find dir1 dir2 ... -type f -links +1 -printf '%i %p\n' |
sort -n -k1,1 |
awk '{ same = ($1==last)
if(!same)save = $0
else{ if(save!=""){ print save; save = "" }
print
}
last = $1
}'
Este código imprime os arquivos e seus inodes. Para pessoas sem find -printf
, use -ls
, que imprime um pouco mais, mas o fará.