首页 > 解决方案 > 如何使用 bash 和 grep 从时间函数解析时间?

问题描述

我有一些来自 bash 脚本的信息。我怎样才能只保留时间?

"real\t0m0.001s"

需要是

0m0.001s 

甚至毫秒数..输出是从 time函数产生的。

标签: bash

解决方案


您可以使用sed一个简单的正则表达式,从字符串的开头到'\t'(tab) 字符替换为空(删除字符串的那部分),例如

sed 's/^.*\t//'

使用grep你会使用:

grep -o '[^[:space:]]*$'

(仅将非空格字符匹配到字符串末尾)

示例使用/输出

$ printf "real\t0m0.001s" | sed 's/^.*\t//'
0m0.001s

或者

$ printf "real\t0m0.001s" | grep -o '[^[:space:]]*$'
0m0.001s

推荐阅读