Git状态摘要按文件扩展名

时间:2017-08-14 14:13:04

标签: git

是否有可能更改git status的输出,因此每个文件扩展名只显示一行? e.g,

M *.java -> 12
D *.html -> 2
M *.md -> 1

我在Unix上,所以一些grep魔法也会这样做。

2 个答案:

答案 0 :(得分:2)

试试这个:

git status -s | awk '{print $2}' \
    | sed -e 's/.*\(\.[a-zA-Z0-9]*\)$/\1/' \
    | uniq -c

其中:
awk '{print $2}' - 匹配更新的文件
sed -e 's/.*\(\.[a-zA-Z0-9]*\)$/\1/' - 提取文件扩展名
uniq -c - calcalate count

答案 1 :(得分:0)

最好添加排序,因为文件可以位于不同的文件夹中

git status -s | awk '{print $2}'     \
          | sed -e 's/.*\(\.[a-zA-Z0-9]*\)$/\1/'  \
          | sort   \
          | uniq -c