gitignore 匹配字符重复

发布于 2024-11-24 19:01:04 字数 357 浏览 2 评论 0原文

我的 git 存储库中有一个目录,其中包含一些文件,我们将其称为 matchdir

$ ls matchdir
2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
da39a3ee5e6b4b0d3255bfef95601890afd80709
file.py
someotherfile.txt

我想将与 40 个十六进制字符匹配的文件添加到我的 .gitignore 文件中。像 matchdir/[0-9a-f]{32} 这样的东西,但这似乎不起作用。有没有办法匹配 .gitignore 文件中字符的特定重复次数?

I have a directory in a git repository with some files in it, let's call it matchdir:

$ ls matchdir
2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
da39a3ee5e6b4b0d3255bfef95601890afd80709
file.py
someotherfile.txt

I want to add the files that match 40 hex characters to my .gitignore file. Something like matchdir/[0-9a-f]{32} but that doesn't seem to work. Is there any way to match a specific number of repetitions of a character in a .gitignore file?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

じее 2024-12-01 19:01:04
matchdir/????????????????????????????????????????

将匹配恰好包含 40 个字母的所有文件。这不仅是十六进制字母,而且比匹配任何长度的 matchdir/* 更好。在 emacs 下输入 40 ? 只需要击键 3 次:C-4C-0?

如果您只想捕获十六进制数字,现在可以轻松搜索并用 [0-9a-f] 替换 ?

matchdir/[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]
matchdir/????????????????????????????????????????

Will match all files with exactly 40 letters. That's not only hex letters, but it's better than matchdir/* that will match any length. Typing the 40 ? takes only 3 keystrokes under emacs: C-4C-0?.

It's now easy to search and replace ? by [0-9a-f] if you want to catch only hex numbers:

matchdir/[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]
太阳公公是暖光 2024-12-01 19:01:04

不完全匹配,但如果这些是唯一没有扩展名的文件并且没有子目录,解决方法可能是这样的:

matchdir/*
!matchdir/*.*

忽略所有文件,然后取消忽略带有点的文件。

Not an exact match, but if those are the only files without an extension and there are no subdirectories, a workaround might be this:

matchdir/*
!matchdir/*.*

Ignore all files, then unignore those with a dot.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文