linux – 使用locate只查找包含字符串“foo”的目录

前端之家收集整理的这篇文章主要介绍了linux – 使用locate只查找包含字符串“foo”的目录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以使用locate命令只查找目录?换句话说,我想搜索一个目录,并将任何不是目录的结果(例如文件或符号链接)排除到文件中.

虽然没有必要,但我希望解决方案还能将符号链接返回到其他目录(但同样不是文件).

最后,我想排除foo中的目录,但有一个例外.如果foo的子目录还包含一个名称包含foo的子目录,我希望它也会被返回.

如果存在以下文件和目录…

/home/foo/
/home/foo/foo.txt
/home/foo/someotherdir/
/home/foo/someotherdir/food/
/food/
/var/www/foo -> /home/foo/
/var/www/food -> /home/food/index.html

输出只包含……

/home/foo/
/home/foo/someotherdir/food/
/food/
/var/www/foo -> /home/foo/

提前致谢.

编辑:谢谢你的回复.我非常谨慎地为locate命令命名,而不是找到.

解决方法

也许一点点狡猾,但它来了:
locate foo | xargs file -NF '|' |grep '| directory' | sed 's/| directory//g'

猜你在找的Linux相关文章