如何提供()数的数字?

sh/bash/dash/ksh/zsh等Shell脚本
回复
blue sea
帖子: 198
注册时间: 2007-11-10 8:57

如何提供()数的数字?

#1

帖子 blue sea » 2009-06-26 10:44

echo "RX bytes:29540894 (28.1 MiB) TX bytes:3326122 (3.1 MiB)"|grep -o '([0-9]\+'|grep -o '[0-9]\+'

这样得到的是28和3,小数点后面的没有了。
头像
peachcolor
帖子: 898
注册时间: 2006-05-20 14:03

Re: 如何提供()数的数字?

#2

帖子 peachcolor » 2009-06-26 10:57

代码: 全选

echo "RX bytes:29540894 (28.1 MiB) TX bytes:3326122 (3.1 MiB)" | awk '{print $3 " " $7}' | sed 's/(//g'
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: 如何提供()数的数字?

#3

帖子 xiooli » 2009-06-26 11:03

代码: 全选

echo "RX bytes:29540894 (28.1 MiB) TX bytes:3326122 (3.1 MiB)"|grep -o '(.[^(]*)'|sed 's/(//g;s/\ .*$//g'
blue sea
帖子: 198
注册时间: 2007-11-10 8:57

Re: 如何提供()数的数字?

#4

帖子 blue sea » 2009-06-26 11:04

:em11

thank you.

awk print $,哈。
blue sea
帖子: 198
注册时间: 2007-11-10 8:57

Re: 如何提供()数的数字?

#5

帖子 blue sea » 2009-06-26 11:09

xiooli的也强大,但没awk好理解,但也异曲同工啊。
头像
sevk
帖子: 2060
注册时间: 2007-05-08 16:26
系统: arch
来自: 火星内核某分子内某原子核内
联系:

Re: 如何提供()数的数字?

#6

帖子 sevk » 2009-06-26 12:02

代码: 全选

ruby -e 'p "RX bytes:29540894 (28.1 MiB) TX bytes:3326122 (3.1 MiB)".match(/\((.*? ).*?\((.*? )/)[1,2].to_s ' 
笔记本 :
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
回复