免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: afeiguo
打印 上一主题 下一主题

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

论坛徽章:
0
21 [报告]
发表于 2011-03-20 12:25 |只看该作者
受教 !学习了

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
22 [报告]
发表于 2011-03-20 20:39 |只看该作者
回复 20# xiaopan3322


    \b就可以了。

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


    \b就可以了。
blackold 发表于 2011-03-20 20:39


    黑哥啥意思呀。。。

    sed "s/\b/\U&/g"
    这样???

    这样显然不行嘛,\b[a-z]才行吧。不然它就不知道以什么为界了

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
24 [报告]
发表于 2011-03-21 14:36 |只看该作者
回复 23# xiaopan3322

   对。
    我的意思和你一样啊。

论坛徽章:
0
25 [报告]
发表于 2011-03-21 14:47 |只看该作者
回复  xiaopan3322

   对。
    我的意思和你一样啊。
blackold 发表于 2011-03-21 14:36



   

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
26 [报告]
发表于 2011-03-21 14:49 |只看该作者
回复 25# xiaopan3322


    你懂的~~

论坛徽章:
0
27 [报告]
发表于 2011-03-21 17:07 |只看该作者
如果指定用awk来实现呢 ?

要处理的文件如下 (注意输出的时候,各种特殊字符包括空格 都要原封不动地打印出来)
192.168.1.20   aaa   bbb  192.168.10.30

4456 192.168.168.20 4569 192.168.10.10 192.168.10.20
B
B
haha asdf  ll14 90492- $var  &^
127.0.0.1  shdjahkj sakjdlk 134.10.20.1a    $var



192.168.1.20  asdfj adfkkasdf dadf

论坛徽章:
0
28 [报告]
发表于 2011-03-21 22:01 |只看该作者
本帖最后由 网中淫 于 2011-03-30 22:15 编辑
  1. cat b
  2. 192.168.1.20   aaa   bbb  192.168.10.30

  3. 4456 192.168.168.20 4569 192.168.10.10 192.168.10.20
  4. B
  5. B
  6. haha asdf  ll14 90492- $var  &^
  7. 127.0.0.1  shdjahkj sakjdlk 134.10.20.1a    $var



  8. 192.168.1.20  asdfj adfkkasdf dadf
  9. awk '{for(i=1;i<=NF;i++){S=toupper(substr($i,1,1));T=substr($i,2);printf S T" "}print ""}' b
  10. 192.168.1.20 Aaa Bbb 192.168.10.30

  11. 4456 192.168.168.20 4569 192.168.10.10 192.168.10.20
  12. B
  13. B
  14. Haha Asdf Ll14 90492- $var &^
  15. 127.0.0.1 Shdjahkj Sakjdlk 134.10.20.1a $var



  16. 192.168.1.20 Asdfj Adfkkasdf Dadf
复制代码

论坛徽章:
0
29 [报告]
发表于 2011-03-22 11:11 |只看该作者
本帖最后由 unixzhong 于 2011-03-22 11:34 编辑

回复 28# 网中淫


谢谢  “网中淫”。 试了,的确可以。


现在 加点难度, 请帮忙(我自己想了没解答出来)

还是那个文件,
但输出来的 不是  Haha Asdf Ll14 90492- $var &^   的效果, 而是  Haha Asdf Ll14 90492- $Var &^

也就是说, $var 或者 58585word3@    @#word*&  这中间的 字母串 也要第一个字母大写

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
30 [报告]
发表于 2011-03-22 12:30 |只看该作者
回复 29# unixzhong
  1. awk 'BEGIN{OFS=FS="";}{p=0;for(i=1;i<=NF;i++){if($i~/[a-zA-Z]/){if(!p){$i=toupper($i);p=1}}else{p=0}}}1' urfile
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP