我需要找到符合以下条件的文件:
- 扩展是
md
- 在文件夹
.
及其所有子文件夹中 - 排除所有
node_modules
文件夹 - 按修改日期排序,所有结果中最新的在前
我尝试了这个但是我猜我的排除是错误的因为当包含片段时node_modules
我仍然得到包括文件夹的结果:node_modules
\( ! -iname "node_modules" \)
find $PWD -name "*.md" \( ! -iname "node_modules" \) -print0 | xargs -0 ls -laht
答案1
这似乎有效,但是当有大量子文件夹时,速度会非常慢。因此,我愿意寻求更好的解决方案:
find "$PWD" -name "*.md" ! -path '*/node_modules/*' -print0 | xargs -0 ls -laht
更新:
根据Kamil Maciorowski 的提示关于-prune
,我想出了这个解决方案,现在速度快得多:
find "$PWD" -name "node_modules" -prune -o -name "*.md" -print0 | xargs -0 ls -laht -P 1