我有一个包含以下内容的文本文件:
[silencedetect @ 0x7fa73cd000c0] silence_start: 1.32515
[silencedetect @ 0x7fa73cd000c0] silence_end: 1.88188 | silence_duration: 0.556735
[silencedetect @ 0x7fa73cd000c0] silence_start: 2.99698
[silencedetect @ 0x7fa73cd000c0] silence_end: 3.42311 | silence_duration: 0.426122
[silencedetect @ 0x7fa73cd000c0] silence_start: 5.58311
[silencedetect @ 0x7fa73cd000c0] silence_end: 6.13984 | silence_duration: 0.556735
[silencedetect @ 0x7fa73cd000c0] silence_start: 7.6729
size=N/A time=00:00:09.12 bitrate=N/A speed= 675x
我想提取“silence\u start:”和“silence\u end:”位后面的值(即值1.32515,1.88188,…,7.6729)以及“time=”(即00:00:09.12)后面的值。你知道吗
我是grep/sed/awk的新手,正在尝试学习如何使用它们中的一个来做到这一点,但在挣扎之后,这一切都没有发生。我尝试过各种各样的想法,也上网看了看,但成功总是离我而去。Python的建议/解决方案也很好。我也试过了,结果一团糟。你知道吗
有人能帮忙吗?我会非常感激的…提前谢谢你!!你知道吗
对于GNU grep和Perl regular expression(
-P
):输出:
sed解决方案:
\3
-指向第三个带圆括号的(...)
组输出:
gnuawk解决方案:
解释正则表达式:
您可以将其用作:
或作为一个班轮:
相关问题 更多 >
编程相关推荐