Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2043028
  • 博文数量: 470
  • 博客积分: 10206
  • 博客等级: 上将
  • 技术积分: 5620
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-03 12:50
文章分类

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-05-25 14:55:45

[] [] [] [] []

侠客




CU编号: 386295
注册:2006-3-14
最后登录: 2009-05-24
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-5-24 05:32 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa[TEST]word_for_test1[\TEST]bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
cccccccccccccccccccc[TEST]word_for_test2[\TEST]dddddddddddddddddddddddddddddddddd[TEST]word_for_test3[\TEST]



上面的字段,我需要截取[TEST]word_for_test1\2\3\....[\TEST]这些字段。即最后的结果应该像下面这样
[TEST]word_for_test1[\TEST]
[TEST]word_for_test2[\TEST]
[TEST]word_for_test3[\TEST]



您对本贴的看法:
| |
  帅哥 (十页)
侠客



CU编号: 482996
注册:2006-10-30
最后登录: 2009-05-25
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-5-24 09:26 
$ sed -r 's/[^]]*(\[TEST\][^[]*\[\\TEST\])[^[]*/\1\n/g' urfile | sed '/^$/d'

[TEST]word_for_test1[\TEST]
[TEST]word_for_test2[\TEST]
[TEST]word_for_test3[\TEST]



您对本贴的看法:

__________________________________

This small part of my life is called happiness
| |
  帅哥
精灵王




CU编号: 690903
注册:2008-4-13
最后登录: 2009-05-25
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]       顶部
发表于 2009-5-24 10:01 
回复 #1 dashorc 的帖子

grep -oE '\[TEST\]word_for_test[0-9]\[\\TEST\]'  urfile



您对本贴的看法:
| |

侠客




CU编号: 655313
注册:2007-12-19
最后登录: 2009-05-24
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-5-24 13:17 
原来文件不是单行的

CODE:
bash3.2->sed 's/.*\(\[TEST\]\)\(.*\)\(\[\\TEST\]\).*/\1\2\3/' test
[TEST]word_for_test1[\TEST]
[TEST]word_for_test3[\TEST]

还是用grep 比较好

[ 本帖最后由 nomyself 于 2009-5-24 13:33 编辑 ]



您对本贴的看法:
| |

侠客




CU编号: 990613
注册:2009-3-2
最后登录: 2009-05-25
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-5-24 23:47 
grep -oE '\[TEST\][^[]*\[\\TEST\]' ufile



您对本贴的看法:
| |

天使




CU编号: 745494
注册:2008-8-15
最后登录: 2009-05-25
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-5-25 08:49 


CODE:
来个awk的awk 'BEGIN{RS="TEST"}NR%2==0{print "[TEST"$0"TEST]"}' txt




您对本贴的看法:

__________________________________

http://ubuntuer.cublog.cn欢迎做做
| |
  帅哥
精灵



CU编号: 337765
注册:2005-11-17
最后登录: 2009-05-25
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-5-25 11:58 


QUOTE:
原帖由 mixednuts 于 2009-5-24 23:47 发表
grep -oE '\[TEST\][^[]*\[\\TEST\]' ufile

:em03:



您对本贴的看法:

__________________________________


2005-12-13
| |

风云使者




CU编号: 537128
注册:2007-3-14
最后登录: 2009-05-25
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-5-25 14:00 


QUOTE:
原帖由 deepalley 于 2009-5-24 09:26 发表
$ sed -r 's/[^]]*(\[TEST\][^[]*\[\\TEST\])[^[]*/\1\n/g' urfile | sed '/^$/d'

[TEST]word_for_test1[\TEST]
[TEST]word_for_test2[\TEST]
[TEST]word_for_test3[\TEST]

[^]]这个写法挺强的。



您对本贴的看法:
| |
  帅哥 (狼烟)
风云使者
披着狼皮的羊



CU编号: 547805
注册:2007-4-5
最后登录: 2009-05-25
帖子:
精华:0







来自:北京
状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-5-25 14:04 
awk的:

CODE:
awk -v RS="\134\133TEST\135[^[]*\134\133\134\134TEST\135" '{print RT}' URFILE




您对本贴的看法:
| |
阅读(872) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~