如何使用Awk筛选git show --stat输出中的指定段落
用Awk提取
git show --stat的文件变更段落 要解决git show <commit> --stat输出中提取最后一段文件变更统计的问题,不用依赖固定行数截取,Awk可以通过按段落分割的方式实现:
核心命令
git show 71667ee --stat | awk -v RS='' 'END{print $0}'
工作原理
RS='':把Awk的记录分隔符设置为空行,这样Awk会把每一段连续的非空行视为一个独立的“记录”(即段落)END{print $0}:当处理完所有记录后,打印最后一条记录,也就是你需要的文件变更统计段落
适配特殊分隔场景
如果你的git show输出中,文件变更段落前不是空行而是---分隔线,可以用这个命令:
git show 71667ee --stat | awk '/^---$/{start_print=1; next} start_print'
它会在匹配到---后,开始打印后续所有内容,精准定位到文件变更部分。
内容的提问来源于stack exchange,提问作者user3313834
相关产品推荐
相关产品推荐

