gpt4 book ai didi

bash - 提取字母数字值

转载 作者:行者123 更新时间:2023-11-29 09:18:04 25 4
gpt4 key购买 nike

我有以下格式的文件

 m.dat -c16 -S32m  1.3768702014349401 s, rate:  3.2434134115834929 GB/s.
m.dat -c16 -S64m 1.0852226612623781 s, rate: 4.115062684139847 GB/s.
m.dat -c20 -S1m 3.8889309875667095 s, rate: 1.1483256688332133 GB/s.
m.dat -c20 -S2m 16.622251618420705 s, rate: 0.26866151348562284 GB/s.
m.dat -c20 -S4m 4.5505061785224825 s, rate: 0.98137637927430543 GB/s.
m.dat -c20 -S8m 2.4563963813707232 s, rate: 1.8180124800752873 GB/s.

我想从中提取不同的数字值。特别是,我在得到与此类似的东西之后:

m.dat 20 4  4.5505061785224825  0.98137637927430543

也就是说,我想提取数字没有字符加上文件中每一行的第一个字段。

我可以使用 awk 轻松获取每一行的不同字段,但这些值还包括 -c-S,这不感兴趣。

awk '{print $1, $2, $3, $4}' file

最佳答案

这是 perl 的一个小技巧:

$ perl -lane '@fields=(@F[0], /(\d+(?:\.\d*)?|\d*\.\d+)/g); print "@fields"' file
m.dat 16 32 1.3768702014349401 3.2434134115834929
m.dat 16 64 1.0852226612623781 4.115062684139847
m.dat 20 1 3.8889309875667095 1.1483256688332133
m.dat 20 2 16.622251618420705 0.26866151348562284
m.dat 20 4 4.5505061785224825 0.98137637927430543
m.dat 20 8 2.4563963813707232 1.8180124800752873

必须运行,根据要求进行解释。

关于bash - 提取字母数字值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40515968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com