使用 `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 {} +
我想按名称查找一些文件夹,然后使用 "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 {} +