首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何列出git存储库中跟踪文件的所有不同扩展名?

如何列出git存储库中跟踪文件的所有不同扩展名?
EN

Stack Overflow用户
提问于 2015-12-04 12:42:45
回答 2查看 1.8K关注 0票数 6

为了创建适当的文件,我想知道git在给定的repo中跟踪的文件的所有不同的扩展名

期望的示例输出:

代码语言:javascript
复制
bat
gitignore
gradle
html
jar
java
js
json
md
png
properties
py
svg
webp
xml
yml

我能用什么命令呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-04 12:42:45

代码语言:javascript
复制
git ls-tree -r HEAD --name-only | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u 

当您将它声明为别名时,必须转义$1

代码语言:javascript
复制
alias gitFileExtensions="git ls-tree -r HEAD --name-only | perl -ne 'print \$1 if m/\.([^.\/]+)$/' | sort -u"

这比天真的find要好,因为:

  • 它排除未跟踪的(gitignored)文件。
  • 它不包括通常包含数百/数千个文件的.git目录,从而减慢搜索速度。

(受How can I find all of the distinct file extensions in a folder hierarchy?启发)

票数 8
EN

Stack Overflow用户

发布于 2022-08-28 20:59:38

如果您可以访问PowerShell,这里有一个很好的一行程序,它还提供了每种类型存在多少文件的计数:

代码语言:javascript
复制
$ext = @{}; git ls-tree -r HEAD --name-only | Get-Item | %{ $ext[$_.Extension]++ }; $ext
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34088711

复制
相关文章

相似问题

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