+ -
当前位置:首页 → 问答吧 → sed取数字问题,求解。

sed取数字问题,求解。

时间:2011-03-10

来源:互联网

# lscfg -vpl rmt1|grep "Serial Number"                              
        Serial Number...............123456789
# lscfg -vpl rmt1|grep "Serial Number"|sed -n '/Serial\ Number.*\([0-9]\)/\1/p'
sed: /Serial\ Number.*\([0-9]\)/\1/p is not a recognized function.
#

os:aix
请问,我这句话,写的哪有问题吗?

作者: redliquid   发布时间: 2011-03-10

回复 redliquid


  语法有问题

作者: wtuter   发布时间: 2011-03-10

眼晕
echo "Serial Number...............123456789"|sed 's/[^0-9]//g'
123456789

作者: 昭襄王   发布时间: 2011-03-10

"p"是匹配后打印整行,不能取数字,ls是正解

作者: yinyuemi   发布时间: 2011-03-10



QUOTE:
眼晕
echo "Serial Number...............123456789"|sed 's/[^0-9]//g'
123456789
昭襄王 发表于 2011-03-10 12:46



请问^不是匹配开头的意思吗?这里为什么这么用呢?

作者: redliquid   发布时间: 2011-03-10

[^0-9]是匹配非数字
^[0-9]是匹配开头数字的

作者: yinyuemi   发布时间: 2011-03-10

  1. echo "Serial Number...............123456789" | perl -ne 'print "$1\n" if /.*?(\d+)/'
复制代码

作者: BangBull   发布时间: 2011-03-10



QUOTE:
[^0-9]是匹配非数字
^[0-9]是匹配开头数字的
yinyuemi 发表于 2011-03-10 13:35




    哦,谢谢。

作者: redliquid   发布时间: 2011-03-10