假设我想(递归地)查找目录中的所有文件,但忽略这些文件,例如.git
和node_modules
子目录。我可以:
$ fd -uut f -E .git -E node_modules
但这将例如排除./some/dir/node_modules/*
或某些类似的内容。
在这种情况下,这可能没问题,但我不想每次需要查找某些内容时都考虑非锚定搜索是否可行。更不用说在某些情况下它不会。
我如何排除./dir
,但不排除./**/dir
?
答案1
要区分这两种情况,请使用谓词-path
:
$ find . -path ./a -prune -o -type f -print