是否有可能以某种方式使用find命令,而不会递归到子目录中?例如,
DirsRoot
|-->SubDir1
| |-OtherFile1
|-->SubDir2
| |-OtherFile2
|-File1
|-File2
而类似find DirsRoot -do-not-recurse -type f的结果将只有File1, File2?
是否有可能以某种方式使用find命令,而不会递归到子目录中?例如,
DirsRoot
|-->SubDir1
| |-OtherFile1
|-->SubDir2
| |-OtherFile2
|-File1
|-File2
而类似find DirsRoot -do-not-recurse -type f的结果将只有File1, File2?
当前回答
我相信你正在寻找-maxdepth 1。
其他回答
是的,在find命令中使用-maxdepth选项是可能的
find /DirsRoot/* -maxdepth 1 -type f
来自手册
人找到
maxdepth水平 在起点以下的大多数目录级别(非负整数)下降。 maxdepth 0 方法只对起点本身应用测试和操作。
我认为,基于当前的命令结构,使用-maxdepth 1选项将得到您想要的结果。如果没有,您可以尝试查看查找的手册页。
相关条目(为方便起见):
-maxdepth levels
Descend at most levels (a non-negative integer) levels of direc-
tories below the command line arguments. `-maxdepth 0' means
only apply the tests and actions to the command line arguments.
你的选择基本上是:
# Do NOT show hidden files (beginning with ".", i.e., .*):
find DirsRoot/* -maxdepth 0 -type f
Or:
# DO show hidden files:
find DirsRoot/ -maxdepth 1 -type f
我相信你正在寻找-maxdepth 1。
如果您正在寻找POSIX兼容的解决方案:
cd DirsRoot &&查找。-type f -print -o -name。- o修剪
-maxdepth不是POSIX兼容选项。