Unix 使用sed从diffstat中提取结果

Unix 使用sed从diffstat中提取结果,unix,diff,diffstat,Unix,Diff,Diffstat,我试图使用sed从diff stat获取插入/删除的数量。 例如,diffstat给出类似“1个文件已更改,2个插入(+),1个删除(-)”的内容。 如何使用sed从diffstat检索“2”?我似乎不明白 谢谢你抽出时间 找到了非常简单的解决方案- sed 's|.*\s\(.*\)\sinsertion.*|\1|' 说明:查找“[任何内容],[某些内容]插入[任何内容]”并将其替换为[某些内容]。可能需要首先通过grep传递diffstat以隔离这一行。尝试以下操作: echo "1 f

我试图使用sed从diff stat获取插入/删除的数量。 例如,diffstat给出类似“1个文件已更改,2个插入(+),1个删除(-)”的内容。 如何使用sed从diffstat检索“2”?我似乎不明白

谢谢你抽出时间

找到了非常简单的解决方案-

sed 's|.*\s\(.*\)\sinsertion.*|\1|'
说明:查找“[任何内容],[某些内容]插入[任何内容]”并将其替换为[某些内容]。可能需要首先通过grep传递diffstat以隔离这一行。

尝试以下操作:

echo "1 file changed, 2 insertions(+), 1 deletion(-)" | sed -r 's/.*([0-9]+) insertion.*/\1/'
echo "1 file changed, 2 insertions(+), 1 deletion(-)" | sed -r 's/.*([0-9]+) insertion.*/\1/'