首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

在shell中怎么取数字

2012-04-13 
在shell中如何取数字?如:td123/tdtd456/tdtd123/tdtd456/tdtd123/td如何将上面的数字

在shell中如何取数字?
如:

<td>123</td><td>456</td><td>123</td><td>456</td><td>123</td>

如何将上面的数字取出来,并相加

grep -o '[0-9]' 用这种方式得到的结果是:
1
2
3
4
5
6
。。。。。。。。。。。

我想要结果是:
123
456
123
456

然后并相加起来?

请高手们帮忙解决呀。。。


[解决办法]
grep '[0-9]*'
[解决办法]
用sed替换</td><td>为换行符就可以了,很简单啊。

lz结贴吧。给分吧。
[解决办法]
用sed完全符合lz的要求。
[解决办法]
xxx@VS2:~$ cat /tmp/a
<td>123</td><td>456</td><td>123</td><td>456</td><td>123</td>
xxx@VS2:~$ cat /tmp/a | sed 's/<td>//g' | sed 's/<\/td>/ /g'
123 456 123 456 123

[解决办法]
xxx@VS2:~$ cat /tmp/a | sed 's/<td>//g' | sed 's/<\/td>/\n/g'
123
456
123
456
123

[解决办法]
echo "<td>123</td><td>456</td><td>123</td><td>456</td><td>123</td>"|grep -o "[0-9]\{3\}"|while read line
do
let sum=$sum+$line
echo $sum
done

[解决办法]
看看这个,虽然难点:

echo "<td>123</td><td>456</td><td>123</td><td>456</td><td>123</td>" | sed -e :a -e 's/<[^>]*>/ /g; /</N; //ba'

热点排行