使用 `find -type d | 只显示目录,不显示它们的内容xargs ls`

Show only directories, not their contents with `find -type d | xargs ls`

我想按名称查找一些文件夹,然后使用 "ls" 列出它们的信息,这是我使用 "find"、

所做的
find ./ -mindepth 1 -maxdepth 3 -type d -name logs

我得到的是:

./RECHMN32Z/US/logs
./RECHMN32Z/UM/logs
./RECHMP3BL/US/logs
./RECHMP3BL/UM/logs
./RECHMAS86/UM/logs
./RECHMAS86/US/logs

然后我添加 "xargs ls -l" ,然后它会 return 这些文件夹下的所有文件的信息 return 以上, 如果只想列出这些文件夹的信息,怎么办?

这不是 find 或 xargs 的错,而是 ls 的错。当给定目录名称时,ls 会显示其内容。您可以使用 -d 让它只显示目录本身。

find 有一个 -ls 操作,它使用与 ls -dils 相同的格式。无需调用外部命令。

find ./ -mindepth 1 -maxdepth 3 -type d -name logs -ls

或使用 ls -ld 列出目录而不是它们的内容。 -exec cmd {} +xargs 的更简单替代方法。无需管道。

find ./ -mindepth 1 -maxdepth 3 -type d -name logs -exec ls -ld {} +