用sed切割部分grep输出

Rom*_*hin 4 regex linux grep sed

我需要从日志文件中获取值,值可能不同,需要获取它.

字符串示例:

Tests run: 1042, Failures: 0, Errors: 0, Skipped: 0
Run Code Online (Sandbox Code Playgroud)

我尝试:

cat log.log | grep '^Test run:' | sed -e 's/^Test run: //'
Run Code Online (Sandbox Code Playgroud)

但我得到:1042,失败:0,错误:0,跳过:0

我需要4个命令,结果就像

第一个命令(测试运行)

1042
Run Code Online (Sandbox Code Playgroud)

第二个命令(失败)

0
Run Code Online (Sandbox Code Playgroud)

第三个命令(错误)

0
Run Code Online (Sandbox Code Playgroud)

第四个同志(跳过)

0
Run Code Online (Sandbox Code Playgroud)

Man*_*qui 7

您可以使用以下四种命令来获得的值Tests run,Failures,Errors,和Skipped分别为:

cat log.log | sed 's/Tests run: \([0-9]\+\).*/\1/g'
cat log.log | sed 's/.*Failures: \([0-9]\+\).*/\1/g'
cat log.log | sed 's/.*Errors: \([0-9]\+\).*/\1/g'
cat log.log | sed 's/.*Skipped: \([0-9]\+\).*/\1/g'
Run Code Online (Sandbox Code Playgroud)