我正在使用gif diff --shortstat filename
来获取文件中更改的行数。输出示例如下:
1 file changed, 1 insertion(+), 1 deletion(-)
现在,我想将该命令与sed
一起使用,并仅提取编号插入和删除,在这种情况下为1
和1
。
我正在使用sed
来匹配并提取组,但是我得到的只是再次来自git
命令的相同文本。我的命令如下(试图仅获取插入行号)。
sed "s/\([0-9]+\) insertion/\1/"
因此,完整的执行将类似于:
$ git diff --shortstat filename | sed 's/\([0-9]+\) insertion/\1/'
> 1 file changed, 1 insertion(+), 1 deletion(-)
要使此功能正常运行,我需要更改什么?
答案 0 :(得分:2)
您可以使用以下sed
命令提取插入和删除号码:
git diff --shortstat filename |
sed -E 's/.* ([0-9]+) insertion.* ([0-9]+) deletion.*/\1,\2/'
这将产生一对以逗号分隔的数字,例如
1,1