是否可以以某种方式使用find
命令,它不会递归到子目录中?例如,
DirsRoot
|-->SubDir1
| |-OtherFile1
|-->SubDir2
| |-OtherFile2
|-File1
|-File2
find DirsRoot --donotrecuourse -type f
之类的结果只会是File1, File2
?
答案 0 :(得分:328)
根据您当前的命令结构,我认为您可以使用-maxdepth 1
选项获得所需内容。如果没有,您可以尝试查看find
的{{3}}。
相关条目(为方便起见):
-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.
您的选择基本上是:
find DirsRoot/* -maxdepth 0 -type f #This does not show hidden files
或者:
find DirsRoot/ -maxdepth 1 -type f #This does show hidden files
答案 1 :(得分:29)
我相信您正在寻找-maxdepth 1
。
答案 2 :(得分:16)
如果您寻找符合POSIX标准的解决方案:
cd DirsRoot && find . -type f -print -o -name . -o -prune
-maxdepth 不符合POSIX标准。
答案 3 :(得分:0)
是的,可以通过在 find 命令中使用 -maxdepth 选项
find /DirsRoot/* -maxdepth 1 -type f
来自手册
man find
-最大深度级别
在起始点以下的目录的大多数级别(非负整数)级别下降。
-maxdepth 0
表示仅将测试和操作应用于起点本身。