+ -
当前位置:首页 → 问答吧 → 一则关于sed提取数字的疑问

一则关于sed提取数字的疑问

时间:2011-02-28

来源:互联网

testfile文件:
test   999
我要把999给提取出来,我写的脚本是
sed -n -e 's/.*\([0-9]*\).*/\1/p'  ./testfile

[local@lin]$ sed -n -e 's/.*\([0-9]*\).*/\1/p' ./testzz

[local@lin]$

发现[0-9]*不能匹配任意数字,怎么会这样呢?

作者: linkejin   发布时间: 2011-02-28

echo "test 999" |sed -n -e 's/\(.*[^0-9]\)\([0-9]*\).*/\2/p'
999

.*匹配了所有的字符
echo "test 999" |sed -n -e 's/\(.*\)\([0-9]*\).*/\1/p'
test 999

作者: yinyuemi   发布时间: 2011-02-28

sed -re 's/[^0-9]*([0-9]*).*$/\1/;'

作者: justlooks   发布时间: 2011-02-28

正则贪然性。。。

作者: lkk2003rty   发布时间: 2011-02-28

好复杂··看了都不太懂··

作者: jmjiax   发布时间: 2011-02-28

sed 's/.*\([0-9]\{3\}\)/\1/'

作者: mercuyr   发布时间: 2011-02-28

谢谢各位大侠,忘了正则贪婪性了,一年半前看过,许久不用忘了

作者: linkejin   发布时间: 2011-02-28

热门下载

更多