我需要找到(或更具体地说,计算)所有匹配此模式的文件:
*/foo/*.doc
第一个通配符星号包含可变数量的子目录。
最佳答案
在 gnu find 中,您可以使用正则表达式,它(与 -name
不同)匹配整个路径:
find . -regex '.*/foo/[^/]*.doc'
只计算文件的数量:
find . -regex '.*/foo/[^/]*.doc' -printf '%i\n' | wc -l
(%i
格式代码导致 find
打印 inode 编号而不是文件名;与文件名不同,inode 编号保证不包含像 a 这样的字符换行,所以计数更可靠。感谢@tripleee 的建议。)
不过,我不知道这是否适用于 OSX。
关于macos - 递归查找所有匹配特定模式的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23207896/