bash - 如何使用 bash 和 grep 从时间函数解析时间?
问题描述
我有一些来自 bash 脚本的信息。我怎样才能只保留时间?
"real\t0m0.001s"
需要是
0m0.001s
甚至毫秒数..输出是从
time
函数产生的。
解决方案
您可以使用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
推荐阅读
- python - 如何在 Google Cloud Shell 上安装库 python-docx / docx?
- arrays - window.enableMouseFlow 在 componentDidMount() 中未定义,但在 render() 中可用
- mysql - 为什么数组不能保存在sql中
- javascript - 第二个异步等待函数未调用
- git - 如何通过命令行提交文件?
- java - 为什么 Java 不能在字符串中正确显示 unicode?
- java - 复合主键上的 Spring 数据和 @EntityGraph
- java - 捕获 servlet 中的语句引发的异常会停止执行(不显示输出)
- javascript - 如何将简单参数传递给模态
- c# - Task.Run 不在后台运行,而是在 Dispatcher 上运行