【发布时间】:2020-01-10 15:36:28
【问题描述】:
我试图从 grep 中获取我输出的一部分。目前,我得到的全文可能如下所示:“位置:/path/to/file”或“状态:错误”。但是我只想打印第二部分,即“/path/to/file”和“Error”。观察到一个输出包含“Elapsed time: 568 hours (23.6 days)”,我需要删除hours (23.6 days) 部分。这些都是不同的 grep,每个都可以使用唯一的代码。
所以我期望的结果是提供输入:
Elapsed time: 568 hours (23.6 days)
输出应该是568
对于我期望的另一个示例,结果是提供输入:
State: Error
输出应该是Error
我试图检查一个叫做 awk 和 sed 的东西,有点困惑,不太清楚如何在我的问题上实现它。
`grep "Elapsed Time: *" | sed -e 's/Elapsed Time://g'`
这将打印出 568 小时(23.6 天)。
grep "Location: *" | sed -e 's/Location://g'
有效,但在 Location: 和 /path/to/file 之间包含大量空白空间,是否也可以一次性删除这些空间?
【问题讨论】:
-
@Cyrus 谢谢,添加了一些关于确切输入和我想要实现的输出的文本,关于链接我真的没有任何好的参考