首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找".ts“,但不查找".d.ts”

查找".ts“,但不查找".d.ts”
EN

Unix & Linux用户
提问于 2019-12-18 09:08:01
回答 3查看 4.4K关注 0票数 22

我以为这能起作用:

代码语言:javascript
复制
find src -type f -regextype egrep -regex '.*(?<!\.d)\.ts'

但它似乎和任何东西都不匹配。

我认为应该能工作,但是我想这种"egrep“风格不支持负面的反向引用,除非我没有正确地逃避一些事情。

作为参考,

代码语言:javascript
复制
 % find src -type f
src/code-frame.d.ts # <-- I want to filter this out
src/foo.ts
src/index.ts

还有另一种快速的方法从我的搜索结果中筛选出.d.ts文件吗?

代码语言:javascript
复制
 % find --version
find (GNU findutils) 4.7.0-git
EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2019-12-18 09:12:30

我不认为egrep支持这种语法(您的表达式是与Perl兼容的正则表达式)。但是您不需要在示例中使用正则表达式,只需进行多个-name测试并酌情应用!否定:

代码语言:javascript
复制
find src -type f -name '*.ts' ! -name '*.d.ts'
票数 71
EN

Unix & Linux用户

发布于 2019-12-18 09:10:17

只对文件名进行过滤,对不想要的文件取消测试,就可以得到所需的结果:

代码语言:javascript
复制
find src -type f -name \*.ts ! -name \*.d.ts
票数 29
EN

Unix & Linux用户

发布于 2019-12-18 20:32:37

一种简单的(可能效率较低)方法可以过滤掉不想要的字符串。

代码语言:javascript
复制
find -name "*.ts" | egrep -v "\.d\.ts$"
票数 6
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/557822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档