gitignore 匹配字符重复
我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将匹配恰好包含 40 个字母的所有文件。这不仅是十六进制字母,而且比匹配任何长度的
matchdir/*
更好。在 emacs 下输入 40?
只需要击键 3 次:C-4C-0?。如果您只想捕获十六进制数字,现在可以轻松搜索并用
[0-9a-f]
替换?
: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:不完全匹配,但如果这些是唯一没有扩展名的文件并且没有子目录,解决方法可能是这样的:
忽略所有文件,然后取消忽略带有点的文件。
Not an exact match, but if those are the only files without an extension and there are no subdirectories, a workaround might be this:
Ignore all files, then unignore those with a dot.