【发布时间】:2021-01-02 23:38:09
【问题描述】:
如何使用 find 排除当前工作目录 (CWD)?
考虑我当前的工作目录包含以下目录 (ls .):
a b c d e f g
查找命令:find . -maxDepth 1 -type d 将返回:
.
./a
./b
./c
./d
./e
./f
./g
我从这里(How to exclude a directory in find . command)尝试了答案:find . -maxdepth 1 -type d -path . -prune -false
虽然我可以使用 ls,但我很好奇如何使用 find 实现同样的效果。
所以find 命令的预期输出应该类似于ls . 输出:
./a
./b
./c
./d
./e
./f
./g
【问题讨论】:
-
如果对您有帮助,请尝试关注
find . -maxdepth 1 -type d \( ! -name '.' \) -print吗?顺便说一句,你的maxdepth里面有D,在find命令中应该是d。 -
find有一个替代方法,称为fd(github.com/sharkdp/fd) — 使用此命令会立即产生预期结果fd --type directory --max-depth 1 -
我宁愿不依赖像
fd这样的外部工具,因为它真的可以用find来完成。 -
@thanasisp eagle eye 你是,我想是的。
标签: bash