LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 695|回复: 7

请教一个字符串问题

[复制链接]
发表于 2005-9-14 15:02:10 | 显示全部楼层 |阅读模式
输入一个字符串,把大小写字母替换,输出修改后的字符串。
比如:
LinuxSir -> lINUXsIR
怎么写?

thx
发表于 2005-9-14 16:22:52 | 显示全部楼层
try:

  1. /home/lee#cat str
  2. #!/bin/ksh
  3. echo $1|sed 's/./&\n/g'|while read char;do
  4.         echo $char|showkey -a 2>/dev/null|awk -v var=$char '{if($1>=65&&$1<=90){print tolower(var)};if($1>=91&&$1<=122){print toupper(var)}}'
  5. done|tr -d '\n';echo
  6. /home/lee#ksh str LinuxSir
  7. lINUXsIR
  8. /home/lee#ksh str linuxSir
  9. LINUXsIR
  10. /home/lee#
复制代码

PS:没考虑数字标点 大致思路就这样!
回复 支持 反对

使用道具 举报

发表于 2005-9-14 17:18:15 | 显示全部楼层
用  tr 'a-zA-Z' 'A-Za-z' 足以 !
回复 支持 反对

使用道具 举报

发表于 2005-9-14 17:24:20 | 显示全部楼层
Post by yaop
用  tr 'a-zA-Z' 'A-Za-z' 足以 !

faint~~~~,学习学习,受教受教!
回复 支持 反对

使用道具 举报

发表于 2005-9-14 17:30:15 | 显示全部楼层
大家互相学习,其实我也是一个菜鸟
回复 支持 反对

使用道具 举报

发表于 2005-9-14 17:50:21 | 显示全部楼层
Post by yaop
大家互相学习,其实我也是一个菜鸟

呵呵,我是简单问题复杂化了~ ,多谢!
回复 支持 反对

使用道具 举报

发表于 2005-9-14 21:12:45 | 显示全部楼层
Post by 寂寞烈火
try:

  1. /home/lee#cat str
  2. #!/bin/ksh
  3. echo $1|sed 's/./&\n/g'|while read char;do
  4.         echo $char|showkey -a 2>/dev/null|awk -v var=$char '{if($1>=65&&$1<=90){print tolower(var)};if($1>=91&&$1<=122){print toupper(var)}}'
  5. done|tr -d '\n';echo
  6. /home/lee#ksh str LinuxSir
  7. lINUXsIR
  8. /home/lee#ksh str linuxSir
  9. LINUXsIR
  10. /home/lee#
复制代码

PS:没考虑数字标点 大致思路就这样!


晕,只能说你一时糊涂。寒~~
回复 支持 反对

使用道具 举报

发表于 2005-9-15 00:06:47 | 显示全部楼层
Post by Freebird
晕,只能说你一时糊涂。寒~~

版主教训的是! :%
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表