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'

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...