ica*_*ual 2 regex bash grep sed
我正在使用gif diff --shortstat filename来获取文件中更改的行数。输出示例如下:
1 file changed, 1 insertion(+), 1 deletion(-)
Run Code Online (Sandbox Code Playgroud)
现在我想使用该命令sed并仅提取插入和删除的数量,在这种情况下1和1.
我正在使用sed匹配和提取组,但我git再次从命令中得到相同的文本。我的命令如下(试图只获取插入行号)。
sed "s/\([0-9]+\) insertion/\1/"
Run Code Online (Sandbox Code Playgroud)
因此,完整的执行将类似于:
$ git diff --shortstat filename | sed 's/\([0-9]+\) insertion/\1/'
> 1 file changed, 1 insertion(+), 1 deletion(-)
Run Code Online (Sandbox Code Playgroud)
我需要改变什么才能让它工作,或者有没有其他方法可以做到这一点?
您可以使用此sed命令提取插入和删除编号:
git diff --shortstat filename |
sed -E 's/.* ([0-9]+) insertion.* ([0-9]+) deletion.*/\1,\2/'
Run Code Online (Sandbox Code Playgroud)
这将产生一个逗号分隔的数字对,例如
1,1
Run Code Online (Sandbox Code Playgroud)