我需要在给定的目录树中找到所有重复的文件名。我不知道用户将作为脚本参数提供什么目录树,因此我不知道目录层次结构。我尝试了这个:
#!/bin/sh
find -type f | while IFS= read vo
do
echo `basename "$vo"`
done
但这并不是我想要的。它只能找到一个重复文件名,然后结束,即使有更多重复的文件名,它也不会打印整个路径(只打印文件名)和重复计数。我希望能够执行类似于以下命令的操作:
find DIRNAME | tr '[A-Z]' '[a-z]' | sort | uniq -c | grep -v " 1 "
但对我不起作用,不知道为什么。即使我有重复的内容,它也不会打印任何东西。我使用的是Xubuntu 12.04。