我认为这可以解决问题:
find src -type f -regextype egrep -regex '.*(?<!\.d)\.ts'
但它似乎没有匹配任何东西。
我认为这应该可行,但我猜这种“egrep”风格不支持负反向引用,除非我没有正确地逃避某些东西。
以供参考,
% find src -type f
src/code-frame.d.ts # <-- I want to filter this out
src/foo.ts
src/index.ts
是否有另一种快速方法可以.d.ts
从我的搜索结果中过滤掉文件?
% find --version
find (GNU findutils) 4.7.0-git
我不相信
egrep
支持该语法(您的表达式是 Perl 兼容的正则表达式)。但是您不需要在示例中使用正则表达式,只需进行多个-name
测试并!
酌情应用否定:您可以通过仅过滤文件名来获得所需的结果,否定不需要的文件的测试:
一种简单(可能效率较低)的方法可以过滤掉不需要的字符串。