我有这个字符串:
4017de9511f7 workflow-engine-ms 0.12% 4.609MiB / 7.574GiB 0.06% 29MB / 15.8MB 4.1kB / 0B 13
我必须提取数字4.609,如何在bash中提取数字? 谢谢!
答案 0 :(得分:1)
使用<div id = "hello" >
<aside class="item">
<a href="abc"><img src="abc" title="abc" /></a>
</aside>
<aside class="item">
<a href="abc2"><img src="abc2" title="abc2" /></a>
</aside>
<aside class="item">
<a href="abc1"><img src="abc1" title="abc1" /></a>
</aside>
</div >
和awk
的简单方法是:
sprintf
使用awk '{val=sprintf ("%g",$4); print val}' file
4.609
转换说明符,只需转换第4字段的"%g"
部分,而忽略MiB字符。
答案 1 :(得分:0)
如果格式不变,则可以使用sed -e 's# *# #g' | cut -d\ -f4 | cut -dM -f1
提取值。
sed
将随后的空格连接成一个空格,第一个剪切提取4.609MiB字段,第二个空格提取MiB。
答案 2 :(得分:0)
如果用“我有这个字符串”来表示,您将其保存在某个文件中,并且需要抢先匹配X.XXX Mib(或GiB或kB),则可以这样解决:>
echo "4017de9511f7 workflow-engine-ms 0.12% 4.609MiB / 7.574GiB 0.06% 29MB / 15.8MB 4.1kB / 0B 13" > test
准备测试文件,
grep -Po "[0-9\.]+(?=(Mi|Gi|k))" test | head -1
找到匹配的字符串