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

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-04-11 13:06:06

假设字段如下:
11 22 33 44 55 66 77 88
11 22 33 44 55 66 10 88
11 22 33 44 55 100 77 88
11 22 33 44 55 66 77 88
11 22 33 44 55 10 210 88
11 22 33 44 55 66 10

文件最后一行一定是以10结尾的,
想把数字10替换成逗号“,”
包含10的数字如100,210不替换,请教通用的方法

可能是我的sed版本比较弱吧,以下2位的\<10\>和\b10\b都不能替换,

自己想了下,用这样可以:
sed -e 's/ 10 /,/g' -e 's/ 10$/,/' file

[[i] 本帖最后由 cooljean2008 于 2009-2-2 18:31 编辑 [/i]]



您对本贴的看法:
| |
  帅哥 (Tim)
法师


CU奥运火炬传递手2008
CU编号: 465018
注册:2006-9-13
最后登录: 2009-04-10
帖子:
精华:0







来自:长春
状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-2-2 17:34 
sed 's/\<10\>/,/g' urfile



您对本贴的看法:

__________________________________

记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的。
| |
(andy)
精灵使



CU编号: 90672
注册:2003-8-29
最后登录: 2009-04-10
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-2-2 17:34 


CODE:
sed 's/\b10\b/,/'




您对本贴的看法:

__________________________________

天行健,君子以自强不息
发奋忘食,乐以忘优,不知老之将至
温故而知新
| |

圣骑士




CU编号: 801984
注册:2009-1-8
最后登录: 2009-03-21
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-2-2 17:37 
sed 's/\<10\>/,/g' urfile

这个我之前想过,但是只是匹配单词,10不是单词,系统不认



您对本贴的看法:
| |

圣骑士




CU编号: 801984
注册:2009-1-8
最后登录: 2009-03-21
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-2-2 17:41 
sed 's/\b10\b/,/'也不行



您对本贴的看法:
| |
(andy)
精灵使



CU编号: 90672
注册:2003-8-29
最后登录: 2009-04-10
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-2-2 17:50 


QUOTE:
原帖由 cooljean2008 于 2009-2-2 17:41 发表
sed 's/\b10\b/,/'也不行

再回来看,多了三个字

你用的sed功能比较弱



您对本贴的看法:

__________________________________

天行健,君子以自强不息
发奋忘食,乐以忘优,不知老之将至
温故而知新
| |

圣骑士




CU编号: 801984
注册:2009-1-8
最后登录: 2009-03-21
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-2-2 17:58 
我在我这里的AIX,HP-UNIX上都试了
sed 's/\b10\b/,/'
sed 's/\<10\>/,/g' urfile
都不行



您对本贴的看法:
| |
(andy)
精灵使



CU编号: 90672
注册:2003-8-29
最后登录: 2009-04-10
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-2-2 18:12 


QUOTE:
原帖由 cooljean2008 于 2009-2-2 17:58 发表
我在我这里的AIX,HP-UNIX上都试了
sed 's/\b10\b/,/'
sed 's/\/,/g' urfile
都不行

没有你用的sed版本, 没法测

CODE:
sed 's/\( \|^\)10\( \|$\)/\1,\2/'




您对本贴的看法:

__________________________________

天行健,君子以自强不息
发奋忘食,乐以忘优,不知老之将至
温故而知新
| |
阅读(1556) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~