免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2648 | 回复: 6
打印 上一主题 下一主题

请问怎么读取一个文件中最前面的几个连续的数字 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-22 00:45 |只看该作者 |倒序浏览
读入一个文件,开头是几个连续的数字,数字个数不确定,怎么样能取到这几个连续的数字呢?谢谢!

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
2 [报告]
发表于 2006-04-22 05:56 |只看该作者

回复 1楼 feiyuw 的帖子

#先切行后提取,见笑。
sed -e 1q ggg | sed -e "s/^[0-9]*/&\\
/" | sed -e 1q

论坛徽章:
0
3 [报告]
发表于 2006-04-22 07:53 |只看该作者
  1. sed 's/^\([0-9]*\)[^0-9]*.*$/\1/' aa
复制代码
  1. awk 'BEGIN{FS="[^0-9]"}{print $1}' aa
复制代码

[ 本帖最后由 shitou9000 于 2006-4-22 08:01 编辑 ]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2006-04-22 11:20 |只看该作者
grep -o '^[0-9]\+'

论坛徽章:
0
5 [报告]
发表于 2006-04-22 11:37 |只看该作者
在RE中,“+”是元子符号,本身就代表了一个或者多个前导字符,
为什么其前面还要加一个“\”?
我以前看了一篇关于RE在JAVASCRIPT中的应用,在表示一个或者
多个前导字符时就直接用的“+”,前面没有加“\”,难道正则表达式
在SHELL中与JAVASCRIPT中有很大的不同吗?

论坛徽章:
0
6 [报告]
发表于 2006-04-23 11:39 |只看该作者
多谢多谢!
刚开始学linux shell,发觉这个东西很有用

论坛徽章:
0
7 [报告]
发表于 2006-04-23 14:12 |只看该作者
原帖由 zongyaotang 于 2006-4-22 05:56 发表
#先切行后提取,见笑。
sed -e 1q ggg | sed -e "s/^[0-9]*/&\\
/" | sed -e 1q

照这个方法已经搞定。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP