全部分类
移动开发与应用
WEB前端
架构与运维
程序设计
数据库
操作系统
热点技术
综合
请教:怎样有条件的替换行。
875阅读 0评论
2009-08-12
greendays
分类:
| | | |
IT168安防监控频道全新上线
[] [] [] [] []
侠客
CU编号: 372862
注册:2006-2-15
最后登录: 2009-08-12
帖子:
精华:0
状态:
...在线...
[] [] [
博客
]
[]
发表于 2009-8-11 15:08
比如有一个文本。
替换掉包含aa 或者 bb的行为123
替换掉包含cc 并且 dd的行为456
例子将
123abcd
aa456
cca
ccasdfdd
变为
123abcd
123
cca
456
您对本贴的看法:
| | |
(黑哥)
法师
CU编号: 631768
注册:2007-10-22
最后登录: 2009-08-12
帖子:
精华:0
来自:小山村
状态:
...在线...
[] [] [
博客
]
[]
发表于 2009-8-11 15:13
回复 #1 skyning 的帖子
sed,awk
您对本贴的看法:
__________________________________
LIVE FREE
OR
DIE!
K.I.S.S.
| | |
((小学生))
天使
小学生
CU编号: 468971
注册:2006-9-24
最后登录: 2009-08-11
帖子:
精华:0
状态:...保密...
[] [] [
博客
]
[]
发表于 2009-8-11 15:17
回复 #1 skyning 的帖子
sed 's/.*aa.*/123/g;s/.*dd.*/456/g'
您对本贴的看法:
__________________________________
小学生
| | |
(狼烟)
天使
八十万色狼总教头
CU编号: 547805
注册:2007-4-5
最后登录: 2009-08-11
帖子:
精华:0
来自:北京
状态:
...离线...
[] [] [
博客
]
[]
发表于 2009-8-11 15:20
aabbccdd
这种怎么替换?
您对本贴的看法:
| | |
(狼烟)
天使
八十万色狼总教头
CU编号: 547805
注册:2007-4-5
最后登录: 2009-08-11
帖子:
精华:0
来自:北京
状态:
...离线...
[] [] [
博客
]
[]
发表于 2009-8-11 15:23
不考虑上面这种情况的,aabbccdd会被替换为456:
CODE:
awk '/aa|bb/{$0=123}/cc/&&/dd/{$0=456}1' URFILE
您对本贴的看法:
| | |
侠客
CU编号: 372862
注册:2006-2-15
最后登录: 2009-08-12
帖子:
精华:0
状态:
...在线...
[] [] [
博客
]
[]
发表于 2009-8-11 15:26
谢谢各位回答。尤其是wtuter
另外,还想请教一下。
如果匹配了一行,向替换成多行,怎么办啊?
比如上面的。
替换掉包含aa 或者 bb的行为
123
mm
替换掉包含cc 并且 dd的行为
456
kk
例子将
123abcd
aa456
cca
ccasdfdd
变为
123abcd
123
mm
cca
456
kk
您对本贴的看法:
| | |
(狼烟)
天使
八十万色狼总教头
CU编号: 547805
注册:2007-4-5
最后登录: 2009-08-11
帖子:
精华:0
来自:北京
状态:
...离线...
[] [] [
博客
]
[]
发表于 2009-8-11 15:28
回复 #6 skyning 的帖子
加\n呗~
CODE:
awk '/aa|bb/{$0="123\nmm"}/cc/&&/dd/{$0="456\nkk"}1' URFILE
您对本贴的看法:
| | |
((小学生))
天使
小学生
CU编号: 468971
注册:2006-9-24
最后登录: 2009-08-11
帖子:
精华:0
状态:...保密...
[] [] [
博客
]
[]
发表于 2009-8-11 15:32
回复 #6 skyning 的帖子
[\2]sed -r 's/.*(aa|bb).*/123\nmm/g;s/.*cc.*dd.*/456\nkk/g' 1
123abcd
123
mm
cca
456
kk
您对本贴的看法:
__________________________________
小学生
| | |
侠客
CU编号: 372862
注册:2006-2-15
最后登录: 2009-08-12
帖子:
精华:0
状态:
...在线...
[] [] [
博客
]
[]
发表于 2009-8-11 15:35
这样就行啊,你真牛!!
看来我要认真学一下awk了。
QUOTE:
原帖由
kwokcn
于 2009-8-11 15:28 发表
加\n呗~
awk '/aa|bb/{$0="123\nmm"}/cc/&&/dd/{$0="456\nkk"}1' URFILE
您对本贴的看法:
| | |
侠客
CU编号: 372862
注册:2006-2-15
最后登录: 2009-08-12
帖子:
精华:0
状态:
...在线...
[] [] [
博客
]
[]
发表于 2009-8-11 15:36
非常感谢,
sed刚看了几天,还不熟,多谢了。
QUOTE:
原帖由
wtuter
于 2009-8-11 15:32 发表
[\2]sed -r 's/.*(aa|bb).*/123\nmm/g;s/.*cc.*dd.*/456\nkk/g' 1
123abcd
123
mm
cca
456
kk
您对本贴的看法:
| | |
» » »
上一篇:
注意中文全角()和英文半角()符号的区别!!!
下一篇:
求助grep精确匹配的问题