BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #46270同步于 2010/11/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

请问:如何读取 "[ ]"中的字符串

feilong
2010/11/15镜像同步9 回复
这是一个很大的*.log文件,需要截取“[]”中的字符串。 类型如下: 09/30 14:43:41 PB .1289 TRACE: [windows and socket] cl=2 lm=0 ct=0 si=gi tn=sohu pn=0 | disp=949 list=200(10) 123ms cache=0 09/30 14:43:41 PB .1296 TRACE: [美女写真] cl=2 lm=0 ct=0 si=gi tn=sohu pn=0 | disp=2347 list=200(10) 7ms cache=0 09/30 14:43:42 PB .1308 TRACE: [《X战记》] cl=2 lm=0 ct=0 si=gi tn=sohu pn=4 | disp=122 list=122(10) 51ms cache=0 09/30 14:43:42 PB .1302 TRACE: [电总] cl=2 lm=0 ct=0 si=gi tn=sohu pn=0 | disp=6724 list=200(10) 87ms cache=0 09/30 14:43:43 PB .1290 TRACE: [王磊] cl=2 lm=0 ct=0 si=gi tn=sohu pn=0 | disp=2512 list=200(10) 7ms cache=1 09/30 14:43:43 PB .1304 TRACE: [wingate for nt] cl=2 lm=0 ct=0 si=gi tn=sohu pn=0 | disp=50 list=50(10) 183ms cache=0 09/30 14:43:43 PB .1297 TRACE: [图象处理] cl=2 lm=0 ct=0 si=gi tn=sohu pn=4 | disp=6548 list=200(10) 63ms cache=0 09/30 14:43:43 PB .1294 TRACE: [广州火车站] cl=2 lm=0 ct=0 si=gi tn=sohu pn=3 | disp=1185 list=200(10) 45ms cache=0 09/30 14:43:43 PB .1300 TRACE: [十一烯酸] cl=2 lm=0 ct=0 si=gi tn=sohu pn=3 | disp=102 list=102(10) 65ms cache=0 09/30 14:43:44 PB .1306 TRACE: [趣味软件] cl=0 lm=0 ct=0 si=gi tn=sohu pn=0 | disp=2163 list=200(10) 7ms cache=1 09/30 14:43:44 PB .1289 TRACE: [免费打电话] cl=2 lm=0 ct=0 si=gi tn=sohu pn=0 | disp=268 list=200(10) 83ms cache=0 09/30 14:43:44 PB .1296 TRACE: [网络安全技术] cl=2 lm=0 ct=0 si=gi tn=sohu pn=3 | disp=416 list=200(10) 49ms cache=0 09/30 14:43:44 PB .1308 TRACE: [红蚁] cl=2 lm=0 ct=0 si=gi tn=sohu pn=1 | disp=48 list=48(10) 65ms cache=0
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
guozi机器人#1 · 2010/11/15
正则呗 【 在 feilong (狗日的腾讯&&上帝要灭我) 的大作中提到: 】 : 这是一个很大的*.log文件,需要截取“[]”中的字符串。 : 类型如下: : 09/30 14:43:41 PB .1289 TRACE: [windows and socket] cl=2 lm=0 ct=0 si=gi tn=sohu pn=0 | disp=949 list=200(10) 123ms cache=0 : ...................
wildpointer机器人#2 · 2010/11/15
如果在linux上,可以试试下面的命令: cat xxx.log | grep "\[" | cut -d[ -f 2 | cut -d] -f1 如果你确定一条记录占一行,可以试试下面的 cat xxx.log | cut -d[ -f 2 | cut -d] -f1 用C语言,一行一行的读然后找出来,也可以吧。 【 在 feilong (狗日的腾讯&&上帝要灭我) 的大作中提到: 】 : 这是一个很大的*.log文件,需要截取“[]”中的字符串。 : 类型如下: : 09/30 14:43:41 PB .1289 TRACE: [windows and socket] cl=2 lm=0 ct=0 si=gi tn=sohu pn=0 | disp=949 list=200(10) 123ms cache=0 : ...................
feilong机器人#3 · 2010/11/15
受教,多谢!试试!
zwp机器人#4 · 2010/11/16
LZ头像,企鹅会受不了的。
kmplayer机器人#5 · 2010/11/16
lz头像...
xiangziwade机器人#6 · 2010/11/16
你的头像,小猪也很难过的。。。 【 在 zwp 的大作中提到: 】 : LZ头像,企鹅会受不了的。 : -- : 算命先生跟我说,前面没拿到offer没关系,到后面就习惯了。 : ...................
arm机器人#7 · 2010/11/16
告诉你一个比较另类的方法(如果是在windows下) 把数据导入excel,以[]作为分隔符
guo机器人#8 · 2010/11/16
不用那么麻烦 直接 awk -F '[][]' '{print $2}' xxx.log即可~ 【 在 wildpointer 的大作中提到: 】 : 如果在linux上,可以试试下面的命令: : cat xxx.log | grep "\[" | cut -d[ -f 2 | cut -d] -f1 : 如果你确定一条记录占一行,可以试试下面的 : ...................
wildpointer机器人#9 · 2010/11/16
这个好。 【 在 guo (计忆邮心|郭) 的大作中提到: 】 : 不用那么麻烦 : 直接 awk -F '[][]' '{print $2}' xxx.log即可~