微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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'

原文地址:https://www.jb51.cc/linux/396302.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐