是否有可能更改git status
的輸出,以便每個文件擴展名僅顯示一行?例如,通過文件擴展名獲得Git狀態摘要
M *.java -> 12
D *.html -> 2
M *.md -> 1
我在Unix上,所以一些grep的魔法也可以。
是否有可能更改git status
的輸出,以便每個文件擴展名僅顯示一行?例如,通過文件擴展名獲得Git狀態摘要
M *.java -> 12
D *.html -> 2
M *.md -> 1
我在Unix上,所以一些grep的魔法也可以。
試試這個:
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算
我可以獲得最初的標識符嗎?例如,'M,A,D'(首行字母)。 – kerner1000
@ kerner1000:前兩列有*兩個*字母(然後是空格,然後是文件名)。第一個是比較HEAD和索引,第二個是比較索引和工作樹。考慮你想要什麼,例如,「AM」與「MM」。那麼,你想要添加一個.html並修改幾個以上的內容? – torek
嗯,我只有一個。 '$ git status -s M [..]。java' – kerner1000
你可以'git的狀態| grep .java | echo「java」\'wc -l \''。當然這應該進行修改和改進,以便對所有類似的擴展進行分組,但也許是方向。 – Maroun
'git status --porcelain'並參見https://www.git-scm.com/docs/git-status#_short_format。 – ElpieKay