免费注册 查看新帖 |

Chinaunix

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

如何将文本里的所有英文单词的首字母变为大写 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-19 11:02 |只看该作者 |倒序浏览
如题,求教

论坛徽章:
0
2 [报告]
发表于 2011-03-19 11:24 |只看该作者
sed 's/\b[^ ]\b/\u&/g'

论坛徽章:
0
3 [报告]
发表于 2011-03-19 11:29 |只看该作者
  1. sed  's/[^ .,?!]\+/\u&/g' file
复制代码
试试这个

论坛徽章:
0
4 [报告]
发表于 2011-03-19 11:31 |只看该作者
回复 3# 网中淫


Thanks!

论坛徽章:
0
5 [报告]
发表于 2011-03-19 11:36 |只看该作者
试试这个
网中淫 发表于 2011-03-19 11:29


恩,学习,,,

    不过,[^ .]这个条件是其中一种情况,还需要考虑更多种的情况噢:
比如,有些单词是以特殊字符开头的:
for index in `find ./ -name "$file"`

论坛徽章:
0
6 [报告]
发表于 2011-03-19 11:39 |只看该作者
嗯,这个不太好搞,只能根据文本大约弄一下。

论坛徽章:
0
7 [报告]
发表于 2011-03-19 11:57 |只看该作者
刚才写错了 少加了个 *
sed 's/\b[^ ]*\b/\u&/g'

论坛徽章:
0
8 [报告]
发表于 2011-03-19 11:58 |只看该作者
回复 5# xiaopan3322


    特殊字符开头的  \u是不处理的 所以 不用担心

论坛徽章:
0
9 [报告]
发表于 2011-03-19 12:38 |只看该作者
回复 8# chenbin200818


    恩,我知道,,,我的意思是,你的这种写法“sed 's/\b[^ ]*\b/\u&/g'”当然是没问题的,但是3楼的写法是有问题的。

论坛徽章:
0
10 [报告]
发表于 2011-03-19 14:15 |只看该作者
回复 9# xiaopan3322


还有一种写法,

sed 's/\<[a-z]/\u&/g' file

http://bbs.chinaunix.net/archiver/?tid-1509683.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP