加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 02:43:14 所属栏目:Linux 来源:网络整理
导读:是否可以使用locate命令只查找目录?换句话说,我想搜索一个目录,并将任何不是目录的结果(例如文件或符号链接)排除到文件中. 虽然没有必要,但我希望解决方案还能将符号链接返回到其他目录(但同样不是文件). 最后,我想排除foo中的目录,但有一个例外.如果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'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读