Linux 如何使用find命令查找文件名的目录并删除重复项?
我正在使用Linux 如何使用find命令查找文件名的目录并删除重复项?,linux,unix,find,Linux,Unix,Find,我正在使用find/-name“*.dbf”查找所有.dbf文件的目录。 它给了我目录和文件名 输出应仅为没有重复项的目录。我不需要查看文件名。您可以通过管道将结果传递到dirname,然后删除重复项,如下所示: find / -name \*.dbf -print0 | xargs -0 -n1 dirname | sort | uniq 另一种解决方案:find/-name“*.dbf”-exec dirname{};2> /dev/null | sort-u我可以用两种方式理解您的问题:
find/-name“*.dbf”
查找所有.dbf文件的目录。
它给了我目录和文件名
输出应仅为没有重复项的目录。我不需要查看文件名。您可以通过管道将结果传递到
dirname
,然后删除重复项,如下所示:
find / -name \*.dbf -print0 | xargs -0 -n1 dirname | sort | uniq
另一种解决方案:
find/-name“*.dbf”-exec dirname{};2> /dev/null | sort-u
我可以用两种方式理解您的问题:
匹配且无重复项的目录,可以使用管道输送到排序| uniq
中的-type
选项:
find/-name'-类型d | sort | uniq
find/-name'| perl-pe的/(.*\/).$/$1/| sort | uniq
谢谢-我添加了2>/dev/null以删除权限警告
find/-name\*.dbf-print02>/dev/null | xargs-0-n1 dirname | sort | uniq