Chinaunix
标题:
高手进哇,关于汉字处理的问题
[打印本页]
作者:
Qiangxi
时间:
2006-10-21 09:25
标题:
高手进哇,关于汉字处理的问题
小弟有一个文本(有些字是GBK编码的,包含不常用的字),类似这样的
阸ai
隑ai
靄ai
靉ai
餲ai
馤ai
騃ai
鯦ai
鱫ai
鴱ai
呆板aiban
爱不释手aibushishou
爱厂如家aichangrujia
挨打aida
爱戴aidai
现在有2个要求:
第一步:想取只包含一个汉字的行,包含2个以上汉字行删除,得到
阸ai
隑ai
靄ai
靉ai
餲ai
馤ai
騃ai
鯦ai
鱫ai
鴱ai
第二步:继承第一个要求的结果,把汉字后面第一个字母转为大写
阸Ai
隑Ai
靄Ai
靉Ai
餲Ai
馤Ai
騃Ai
鯦Ai
鱫Ai
鴱Ai
后半夜一直在想,看了很多资料都搞不定,拜求方法
[
本帖最后由 Qiangxi 于 2006-10-21 09:27 编辑
]
作者:
寂寞烈火
时间:
2006-10-21 11:07
1,
awk 'length($0)==4' urfile
2,
awk 'length($0)==4{print substr($0,1,2)toupper(substr($0,3,1))substr($0,4,1)}' urfile
作者:
awk就是awp加ak
时间:
2006-10-21 16:01
length($0)==4
发扬楼上的精神:
awk -F'[[:alpha:]]' ' length($1) < 3 { print substr($0,1,2)toupper(substr($0,3,1))substr($0,4,1) }' urfile
复制代码
作者:
woodie
时间:
2006-10-21 22:35
perl -ne 'print if s/^(..)([a-z])/\1\u\2/'
作者:
awk就是awp加ak
时间:
2006-10-23 19:38
那在 vi 里面 s/\([a-z][[:alnum:]]*\)/\u\1/g 貌似也可以
作者:
lovesaka
时间:
2006-10-23 22:49
perl -ne 'print if(/^.{3}\w*$/)' 第一个
perl -ne 'if(/^.{3}\w*$/){s/^(.{3})(\w.*)$/\1\u\2/;print}' 第二个
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2